博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51nod 1428 活动安排问题 (贪心+优先队列)
阅读量:5102 次
发布时间:2019-06-13

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

来源:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428

 

首先按照开始时间从小到大排序.

其实只要维护一个结束时间的最小堆,每次比较开始时间和堆中最小时间的大小,如果比它大就放入堆中并且时间就要变成当前任务的结束时间,

否则就要新开一个教室.并且把结束时间加入堆中,注意判断堆是否为空.

#include 
using namespace std;const int maxn = 1e5+10;struct node{ int l,r; bool operator<(const node & a)const { return l < a.l; }}s[maxn];int main (){ int n;scanf("%d",&n); for(int i=0;i
,greater
>Q; sort(s,s+n); Q.push(s[0].r); int res = 1; for(int i=1;i
s[i].l) { res++; Q.push(s[i].r); } else{ Q.pop(); Q.push(s[i].r); } } else{ Q.push(s[i].r); res++; } } printf("%d\n",res); return 0;}

 

转载于:https://www.cnblogs.com/Draymonder/p/7350605.html

你可能感兴趣的文章
局域网内手机访问电脑网站注意几点
查看>>
IT项目经验和难点分享
查看>>
那些黑刘翔的人,你们的良心被狗吃了
查看>>
图片延迟加载(lazyload)的实现原理
查看>>
TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?...
查看>>
Redis系列--内存淘汰机制(含单机版内存优化建议)
查看>>
最小二乘法
查看>>
iptables端口转发
查看>>
金融三问
查看>>
HTML5新API记录
查看>>
Android 8 AudioPolicy 分析
查看>>
map.entry<k,v>小用法(转)
查看>>
mysql自增字段重排 或 归零
查看>>
eclipse svn设置忽略文件
查看>>
centos7更改默认的python版本,安装python3.6.4
查看>>
大数据应用期末总评
查看>>
Java Web开发后端常用技术汇总
查看>>
How to use jQuery countdown plugin
查看>>
富文本常用封装(NSAttributedString浅析)
查看>>
c++ STL
查看>>