HDOJ.2037 今年暑假不AC (贪心)
2016-11-22 19:08
281 查看
今年暑假不AC
点我挑战此题题意分析
给出来n组节目的起止时间,让求出所最多能观看的完整节目个数。贪心策略:按照节目的结束时间升序排序,比较下一项的开始时间是否比上一项的结束时间大,是的话计数器+1,并且更新结束时间,否则的话继续判断下一项。直到遍历完整个节目单,输出计数器的值即可。
注意:排好序后,默认第一个节目是看的,并且此时计数器为1。
至于为何按照结束时间排序,下面出一个一个ppt,感兴趣的读者可以自己分析一下。
贪心最重要的是选择合适的贪心策略,才能快准AC。
贪心策略
代码总览
/* Title:HDOJ.2037 Author:pengwill Date:2016-11-22 */ #include <iostream> #include <stdio.h> #include <map> #include <algorithm> using namespace std; struct time{ int stat; int endt; }item[105]; int cmp(time a,time b) { return a.endt<b.endt; } int main() { int n; while(scanf("%d",&n)!= EOF && n){ int i; int cnt = 1,temp; for(i = 0;i<n;++i){ scanf("%d %d",&item[i].stat,&item[i].endt); } sort(item,item+n,cmp); temp = item[0].endt; for(i= 0;i<n-1;i++){ if(temp <= item[i+1].stat){ cnt++; temp = item[i+1].endt; } } printf("%d\n",cnt); } return 0; }
相关文章推荐
- hdoj2037_今年暑假不AC(贪心)
- HDOJ 2037 今年暑假不AC 贪心
- HDOJ2037 今年暑假不AC (经典的贪心问题)
- HDOJ 2037 今年暑假不AC 【贪心】
- HDOJ 2037 今年暑假不AC 【贪心】
- HDOJ 2037 今年暑假不AC (简单贪心)
- HDOJ 2037 今年暑假不AC(贪心)
- hdoj problem 2037 今年暑假不AC(贪心(基础题+模板))
- HDOJ 2037 今年暑假不AC (贪心)
- hdoj2037今年暑假不AC(sort+结构体+贪心)
- (Java实现) HDOJ 2037 今年暑假不AC 经典贪心
- nyoj14会场安排问题VS hdoj2037今年暑假不AC(贪心之时间安排问题)
- hdoj 2037 今年暑假不AC 【贪心】
- 简单贪心 hdoj2037(今年暑假不AC)
- HDOJ 题目2037今年暑假不AC(贪心)
- 贪心入门 ——HDoj 2037:今年暑假不AC。
- HDOJ 2037 今年暑假不AC(第一道贪心)
- HDOJ 2037 今年暑假不AC (贪心,区间排序问题)
- HDOJ/HDU 2037 今年暑假不AC ...... sth. like interval scheduling use 贪心..so easy...
- hdoj2037 今年暑假不AC(贪心)