HDU:3650 Hot Expo

来源:互联网 发布:法治网络知识大赛登录 编辑:程序博客网 时间:2024/05/17 23:31

题意:sunnuy要游览世博会,每天都有N个节目,然后给你N个节目的起止时间,他不想错过所有节目,问你看完全部节目最少要多少天。

思路:只需要知道最大重叠区间的重叠数是多少即可。

可能是我做区间的贪心问题做多了,这道题用拿老一套居然不行。好在数据量比较小,但凡有节目的时间段就+1,最后统计最大值是多少即可。

 

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define MAXN 3600*24+10using namespace std;int ans[MAXN];int main(){    int N;    while(scanf("%d",&N)&&N)   {       int u,v;       memset(ans,0,sizeof(ans));       for(int i=0;i<N;++i)       {           scanf("%d%d",&u,&v);           for(int j=u;j<=v;++j)            ans[j]++;       }       int mx=0;       for(int i=0;i<=MAXN;++i)        mx=max(mx,ans[i]);       printf("%d\n",mx);   }    return 0;}