会场安排问题

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述
学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。
输入
第一行是一个整型数m(m<100)表示共有m组测试数据。
每组测试数据的第一行是一个整数n(1<n<10000)表示该测试数据共有n个活动。
随后的n行,每行有两个正整数Bi,Ei(0<=Bi,Ei<10000),分别表示第i个活动的起始与结束时间(Bi<=Ei)
输出
对于每一组输入,输出最多能够安排的活动数量。
每组的输出占一行
样例输入
2
2
1 10
10 11
3
1 10
10 11
11 20
样例输出
1
2
提示

注意:如果上一个活动在t时间结束,下一个活动最早应该在t+1时间开始

经典贪心算法,之所以按结束时间来排列,是通过数学归纳法来确定的;

通过数学归纳法可以比较出:以开始时间排列 ,以会议时间长度排列,以结束时间排列中,按结束时间排列可以得出最优解;

按这种方法选择相容活动为未安排活动留下尽可能多的时间,即局部最优;

上源码:

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;  struct meet
{  int start;  int end;
}a[100010];  bool cmp(meet a,meet b)               //按会议结束时间排列
{    return a.end<b.end;
}   int main()
{    int x;  scanf("%d",&x);  while(x--)  {  int i;int n;scanf("%d",&n);                              for(i=1;i<=n;i++)                          scanf("%d %d",&a[i].start,&a[i].end);  a[0].start=-1;  a[0].end=-1;  sort(a+1,a+n+1,cmp);                           //排列int sum=1;int j=1;for(i=2;i<=n;i++)                      //从第二个会场开始从与前一个会场比较{    if(a[i].start>a[j].end)        //如果相隔时间大于1(输入都为整数),则活动数+1{    j=i;    sum++;    }    }    cout<<sum<<endl;    }  return 0;
}  
//每天比昨天更好一些

会议安排(经典贪心算法例题)相关推荐

  1. 活动安排问题(贪心算法)

    问题描述: 有n个活动的活动集合E ,其中每一个活动都要求使用同一个资源,而在同一个时刻内资源只能被一个活动使用,每一个活动都有开始是时间和结束时间,要求从活动集合E中选出m个活动,使着m个活动都能顺 ...

  2. 最早结束时间安排活动--贪心算法证明

    活动安排的最优解,一般是贪心算法的思路求取.每一次选择 相对于当前时间 最早结束的活动,得到的子序列是活动的一个最优安排,即在一段时间内安排的活动数最多. 设定命题 贪心算法执行到第k步,选择了k项活 ...

  3. 活动安排问题--贪心算法

    活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合,是可以用贪心算法有效求解的很好例子.该问题要求高效地安排一系列争用某一公共资源的活动.贪心算法提供了一个简单.漂亮的方法使得尽可能多的活动 ...

  4. C语言会场安排问题贪心算法,贪心算法解决会场安排问题多处最优服务次序问题(含源代码).doc...

    贪心算法解决会场安排问题多处最优服务次序问题(含源代码) 西 安年月日-,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源.每个活动i都有一个要求使用该资源 ...

  5. 会场安排问题贪心算法

    问题描述: 假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场.设计一个有效的贪心算法进行安排(这个问题实际上是著名的图着色问题.若将每一个活动作为图的一个顶点,不相容活动间用边相连.使相邻 ...

  6. C语言经典贪心算法之加油站问题(详解)

    文章目录 一.贪心算法 二.加油站问题 一.贪心算法 贪心算法暗示一种不追求最优解,只希望找到较为满意解的方法.贪心算法省去了为找最优解要穷尽所有可能而必须耗费大量时间,因此它一般可以快速得到较为满意 ...

  7. 跳格子/贪心算法例题详解:LeetCode605.种花问题

    今天做了一道很有意思的题目,虽然是分属于贪心算法的一个题目,但是解法多样,十分有趣,且不是很难理解,所以想在这里分享给大家. 题目描述: 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是 ...

  8. POJ 3040 Allowance——经典贪心算法题目

    题目链接 题目大意: 约翰要给他的牛贝西发工资,每天不得低于C元,约翰有n种面值的钱币,第i种的面值为v_i,数量有b_i.问这些钱最多给贝西发多少天的工资.注意,每种面值的金钱都是下一种的面值的倍数 ...

  9. NYOJ 14 会场安排问题 贪心算法 之 选择不相交区间

    会场安排问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工作就 ...

  10. leetcode1353. 最多可以参加的会议数目(贪心算法)

    给你一个数组 events,其中 events[i] = [startDayi, endDayi] ,表示会议 i 开始于 startDayi ,结束于 endDayi . 你可以在满足 startD ...

最新文章

  1. 【转】解密“设计模式”
  2. 高性能IO之Reactor模式
  3. Loj 6485. LJJ 学二项式定理
  4. bootstrapValidator remote 验证问题
  5. 【整理】fiddler不能监听 localhost和 127.0.0.1的问题
  6. delphi下实现ribbon界面的方法(一)
  7. [luogu5008]逛庭院
  8. 堆排序python代码实现_八大排序算法的python实现(五)堆排序
  9. 启明星Zynq7010制作PYNQ V2.4镜像过程记录
  10. 第26课:JSP Cookie 处理 读取和删除cookie(JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)
  11. .ps是什么格式_用Word修图,真的比PS简单十倍不止!可惜知道的人太少了......
  12. 2021-08-18 HarmonyOS实战 CommonDialog的使用
  13. 如何选取dataframe某个值
  14. 对指针的详细认识(一)—— 指针概念+指针类型+野指针+指针运算+二级指针
  15. Docker初级学习指南
  16. vue-router路由跳转与打开新窗口
  17. android 绘图之Path与Paint详解
  18. -bash: java: command not found (Linux)
  19. MFC—windows套接字编程
  20. Deep Decentralized Multi-task Multi-Agent Reinforcement Learning under Partial Observability

热门文章

  1. python爬虫得到谷歌学术搜索结果
  2. 国外 计算机专业 网站,国外计算机类核心期刊及其网站
  3. Word转为PDF,并在线预览。
  4. Load Switch负载开关详解
  5. 植物大战僵尸的简单修改
  6. 泛函分析(空间部分)知识点总结
  7. 2021SC@SDUSC Zxing开源代码(八)Data Matrix二维码(一)
  8. ET1100和PHY的总结
  9. 敏感信息泄露漏洞实战
  10. ArcGIS ERROR 999999: 执行函数时出错,未找到表。