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活动安排的主要内容,如果未能解决你的问题,请参考以下文章

活动到片段通信:当我尝试从活动更新片段中的文本视图时,出现空指针异常

如何使用接口在片段和活动之间进行通信?

将数据从片段列表视图项传递到活动字符串变量 onitemclicklistener

从片段中禁用导航抽屉

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

如何从活动中更改片段中视图的可见性