HDU(2037)贪心算法之时间序列
来源:互联网 发布:微信公众号 java sdk 编辑:程序博客网 时间:2024/06/05 11:34
输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。
Output
对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。
Sample Input
121 33 40 73 815 1915 2010 158 186 125 104 142 90
Sample Output
5#include<iostream>#include<algorithm>#include<stdio.h>using namespace std ;struct P{int begin , end ;};int cmp( P p1 , P p2 ){return p1.begin < p2.begin || ((p1.begin == p2.begin) && (p1.end < p2.end)) ;}int main(){int n ;while( cin >> n , n ){P p[110] ;for( int i = 0 ; i < n ; i++ )cin >> p[i].begin >> p[i].end ;sort(p,p+n,cmp) ;int count = 1 ;for(int j = 1 ; j < n ; j++){if( p[j].begin >= p[j-1].end )count++ ;else{if( p[j].end >= p[j-1].end ){p[j].begin = p[j-1].begin ;p[j].end = p[j-1].end ;}}}cout << count << endl ;}return 0 ;}很简单的一道题,结果跪了一个多小时,各种错误,首先是:return p1.begin < p2.begin || ((p1.begin == p2.begin) && (p1.end < p2.end)) ;
总是把p1,p2弄掉一个写成:return p1.begin < p1.begin || ((p1.begin == p1.begin) && (p1.end < p1.end)) ;已经不仅一次犯这种低级错误了,直接导致排序错误,答案出错,下次一定不能再犯这种低级错误;其次是:for(int j = 1 ; j < n ; j++){if( p[j].begin >= p[j-1].end )count++ ;else{if( p[j].end >= p[j-1].end ){p[j].begin = p[j-1].begin ;p[j].end = p[j-1].end ;}}}
简单的公式推导,推了半天,无语……
0 0
- HDU(2037)贪心算法之时间序列
- 贪心探索之 时间序列问题 之 hdu 2037
- HDU NO.2037 今年暑假不AC(时间序列贪心),,,
- HDU 2037 (贪心算法)
- hdu 2037贪心算法之活动安排问题
- hdu 2037(贪心算法之区间调度问题)
- 时间序列贪心(第一道贪心题呀嘻嘻)
- hdu 2037 贪心算法求解
- 贪心算法基础之活动时间安排(一)安排 51nod 贪心教程
- 贪心算法基础之活动时间安排(二) 51nod 贪心教程
- 【HDU】5248-序列变换(贪心+二分)
- hdu 5248 序列变换(二分+贪心)
- HDU 迷瘴(贪心算法)
- hdu 3998 Sequence 贪心算法+最长递增子序列+二分查找(好题目)
- 贪心算法(hdu 4442 hdu 3183)
- 贪心算法之——最长上升子序列
- HDU-2037今年暑假不AC(贪心算法)
- hdu 2037 今年暑假不AC (贪心算法)
- 下体的发挥
- mysql 数据库连接参数说明
- mahout数据源
- 获取联通、电信、任意ISP ip段
- JAVA并发(三)
- HDU(2037)贪心算法之时间序列
- 开发笔记之20140227
- 无题
- Java开发webservice三款工具:axis2/xfire/cxf
- 判别式模型与生成式模型
- SelectNodes的用法
- Mac系统自带CURL的使用方法
- 图像处理基本概念——卷积,滤波,平滑
- F8安全命令模式下改变更密码