poj_3190
首先把所有的牛排个序,优先按照起始时间
其次建立一个堆,重载小于号(只可以重载小于号),优先按照右端点的时间排序,大的放下面(sort的时候会放后面),堆顶是结束时间最快的
#include <iostream>
#include <algorithm>
#include <queue>
using namespace std;
const int N = 5e4 + 10;
struct node {
int l, r, id;
bool operator < (const node &t) const {
if(r != t.r) return r > t.r;
return l > t.l;
}
}a[N];
bool cmp(node a, node b) {
if(a.l != b.l) return a.l < b.l;
return a.r < b.r;
}
int n;
int ans[N];
int main() {
while(cin >> n) {
for(int i = 0; i < n; i ++ ) {
int l, r; cin >> l >> r;
a[i].l = l;
a[i].r = r;
a[i].id = i;
}
sort(a, a + n, cmp);
priority_queue<node> q;
ans[a[0].id] = 1;
q.push(a[0]);
int idx = 1;
for(int i = 1; i < n; i ++ ) {
if(!q.empty() && q.top().r < a[i].l) {
ans[a[i].id] = ans[q.top().id];
q.pop();
} else {
idx ++;
ans[a[i].id] = idx;
}
q.push(a[i]);
}
cout << idx << endl;
for(int i = 0; i < n; i ++ )
cout << ans[i] << endl;
}
return 0;
}
poj_3190的更多相关文章
随机推荐
- 1226 - One Unit Machine
1226 - One Unit Machine PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB ...
- WPF中的StaticResource和DynamicResource有什么区别
StaticResource 是静态资源 DynamicResource是动态资源 用一下例子说明 <Window.Resources> <Style x:Key="Bor ...
- Spring中的@Bean注解
@Bean 基础概念 @Bean:Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理.产生这个Bean对象的方法Spring只会调用一次,随后这个 ...
- Adversarial Defense by Restricting the Hidden Space of Deep Neural Networks
目录 概 主要内容 Mustafa A., Khan S., Hayat M., Goecke R., Shen J., Shao L., Adversarial Defense by Restric ...
- [数学]高数部分-Part VI 重积分
Part VI 重积分 回到总目录 Part VI 重积分 二重积分的普通对称性 二重积分的轮换对称性(直角坐标系下) 二重积分直角坐标系下的积分方法 二重积分极坐标系下的积分方法 二重积分中值定理 ...
- Capstone CS5265替代龙迅LT8711|设计TYPEC转HDMI2.0投屏方案|替代龙迅LT8711方案
LT8711是一款高性能C型/DP1.2至HDMI2.0转换器,设计用于将USB typec或DP1.2源连接至HDMI2.0接收器.LT8711集成了兼容DP1.2的接收机和兼容HDMI2.0的发射 ...
- SpringBoot中JPA使用动态SQL查询
https://www.jianshu.com/p/f72d82e90948 可以重点关注方法二,把原生sql传入数据库去查询 好处是:更加灵活坏处是:拼接sql比较痛苦,也容易出问题,比如拼接的sq ...
- 来自MyBatis不一样收获结果的探索之旅-v3.5.9
概述 定义 MyBatis官网 https://mybatis.org/mybatis-3/ 最新版本为3.5.9 MyBatis是一个的ORM框架,支持自定义SQL.存储过程和高级映射.MyBati ...
- Pytest_在jenkins中使用allure报告(13)
一.安装allure插件 点击jenkins管理-->插件管理 点击Available,在搜索框中输入allure并安装 二.配置构建命令 三.构建配置allure插件 点击构建后置操作 pat ...
- 初识python: 字典
使用数据字典,编写一个多级菜单: 需求:每一级可返回上级,可退出. 多级菜单 #!/user/bin env python # author:Simple-Sir # time:20180915 # ...