1422:例题1活动安排
Posted xiaoyezi-wink
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1422:例题1活动安排相关的知识,希望对你有一定的参考价值。
1422:【例题1】活动安排
题解
所有活动都有一个起始时间和结束时间,映射到数轴上,将每个活动的起始时间点和结束时间点之间的连线看成一条线段,那么求解问题的任务,就是在对应的数轴上选择尽可能多的不相交的线段。
由此,可以选择一种贪心策略:将每个活动的结束时间从小到大排序,每次选择最早的结束时间,这样接下来能选择更多的不相交的活动。
代码
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<string> using namespace std; int n,ans=1,t; struct app int s,e; a[1005]; bool cmp(app x,app y) return x.e <y.e ; int main() scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&a[i].s ,&a[i].e ); sort(a+1,a+n+1,cmp); t=a[1].e ; for(int i=2;i<=n;i++) if(a[i].s >=t) ans++; t=a[i].e ; printf("%d",ans); return 0;
以上是关于1422:例题1活动安排的主要内容,如果未能解决你的问题,请参考以下文章
活动到片段通信:当我尝试从活动更新片段中的文本视图时,出现空指针异常