博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51nod 1428 活动安排问题
阅读量:4465 次
发布时间:2019-06-08

本文共 633 字,大约阅读时间需要 2 分钟。

基准时间限制:1 秒 空间限制:131072 KB 分值: 10 
 收藏
 关注
有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室? 
Input
第一行一个正整数n (n <= 10000)代表活动的个数。第二行到第(n + 1)行包含n个开始时间和结束时间。开始时间严格小于结束时间,并且时间都是非负整数,小于1000000000
Output
一行包含一个整数表示最少教室的个数。
Input示例
31 23 42 9
Output示例
2
 
 
贪心 + 堆
按开始时间排序 
加入一个结束时间
若开始时间时间比堆顶早 那么多加一个教室
否则 结束该活动 准备下一个活动
#include 
#include
#include
using namespace std;struct Node{ int Si,Fi,Limit; bool operator<(Node a) { return Si
,greater
>q; q.push(Activity[1].Fi); for(int i=2;i<=n;i++) { if(Activity[i].Si

 

转载于:https://www.cnblogs.com/ruojisun/p/6735344.html

你可能感兴趣的文章
专题:动态内存分配----基础概念篇
查看>>
Codeforces Round #426 (Div. 2) (A B C)
查看>>
The Most Simple Introduction to Hypothesis Testing
查看>>
UVA10791
查看>>
P2664 树上游戏
查看>>
jQuery 停止动画
查看>>
Sharepoint Solution Gallery Active Solution时激活按钮灰色不可用的解决方法
查看>>
教你50招提升ASP.NET性能(二十二):利用.NET 4.5异步结构
查看>>
lua连续随机数
查看>>
checkstyle使用介绍
查看>>
会了这十种Python优雅的写法,让你工作效率翻十倍,一人顶十人用!
查看>>
二维码图片生成
查看>>
在做操作系统实验的一些疑问
查看>>
Log4J日志配置详解
查看>>
NameNode 与 SecondaryNameNode 的工作机制
查看>>
Code obfuscation
查看>>
大厂资深面试官 带你破解Android高级面试
查看>>
node.js系列(实例):原生node.js实现接收前台post请求提交数据
查看>>
SignalR主动通知订阅者示例
查看>>
golang的表格驱动测试
查看>>