标签:优先级 int d% 枚举 外卖 ans ri define
思想: 模拟+枚举
以T为单位的枚举一定会超时;
若以m为单位 比较复杂
以 n 为单位 且为外侧循环, 以它的订单为内层循环(sort一下)
#include <bits/stdc++.h> using namespace std; #define ri register int #define M 100005 vector <int> p[M]; int n,m,T; int main(){ scanf("%d%d%d",&n,&m,&T); for(ri i=1;i<=m;i++) { int a,b; scanf("%d%d",&a,&b); p[b].push_back(a); } int ans=0; for(ri i=1;i<=n;i++) { sort(p[i].begin(),p[i].begin()+p[i].size()); int trmp=0; int cur=0; for(ri j=0;j<p[i].size();j++) { int a=p[i][j]; if(a!=trmp) cur-=(a-trmp-1); if(cur<0) cur=0; cur+=2; trmp=a; if(cur-(T-a)>=4&&cur>5) { ans++; break; } } } printf("%d",ans); return 0; }View Code
反思: 实现代码的时候 一定要确保你的代码 表达的 意思 和你想的一样,
和 模拟的情况一样,多举点栗子 去验证 代码。多想想各种情况。
样例过了,可能只是某一种情况而已,自己仔细想想,特别是模拟的题
标签:优先级,int,d%,枚举,外卖,ans,ri,define 来源: https://www.cnblogs.com/Lamboofhome/p/15612734.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。