P1803 凌乱的yyy / 线段覆盖

题目链接 https://www.luogu.com.cn/problem/P1803

非要整些花里胡哨的题目和题意。。。。。。。

经典入门的贪心

因为要参加尽可能多的比赛,所以将结束时间排序,下一场比赛取结束时间早且与上一场比赛时间不冲突的。


放AC代码

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 struct px
 4 {
 5     int a;//开始时间
 6     int b;//结束时间
 7 }x[1000050];
 8 bool cmp(px x,px y)//按结束时间排序
 9 {
10     return x.b<y.b;
11 }
12 int main()
13 {
14     int n,sum=1,mi;
15     cin>>n;
16     for(int i=1;i<=n;i++)
17         cin>>x[i].a>>x[i].b;
18     sort(x+1,x+n+1,cmp);
19     mi=x[1].b;//记录第一个值
20     int j=1;
21     while(j<=n)
22     {
23         j++;
24         if(x[j].a>=mi)
25         {//找到符合要求的比赛,记录,参加
26             sum++;
27             mi=x[j].b;
28         }
29     }
30     cout<<sum;
31     return 0;
32 }

 

posted @ 2022-04-06 21:30  爱吃虾滑  阅读(40)  评论(0编辑  收藏  举报