P1803 凌乱的yyy / 线段覆盖 贪心
只要结束时间比当前结束时间大,开始比当前晚就贪心++
P1803 凌乱的yyy / 线段覆盖题目链接
代码如下
//其实这道题很简单找一下比当前大的结束时间并且开始的晚
#include<cstdio>
#include<algorithm>
using namespace std;
struct game
{
int begin;
int end;
}noip[1000003];
bool com(game a,game b)
{
return a.end<b.end;
}
int main()
{
int n,ans=0;//beg代表开始的时间,end代表结束的时间
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d",&noip[i].begin,&noip[i].end);
}
sort(noip,noip+n,com);
int maxx=-100;//相当于用maxx存了一下当前结束的时间
for(int i=0;i<n;i++)
{
if(noip[i].begin>=maxx)//贪心过程
{
ans++;
maxx=noip[i].end;
}
}
printf("%d",ans);
return 0;
}