首先把所有的牛排个序,优先按照起始时间

其次建立一个堆,重载小于号(只可以重载小于号),优先按照右端点的时间排序,大的放下面(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的更多相关文章

随机推荐

  1. CODEFORCEs 621E. Wet Shark and Blocks

    E. Wet Shark and Blocks time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  2. 洛谷1052——过河(DP+状态压缩)

    题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...

  3. 解决Java保存到数据库中文乱码问题,加useUnicode=true&characterEncoding=UTF-8

    Java保存到数据库中文乱码, 解决方法如下: 我们在连接MySQL数据库的时候一般都会在url后面添加useUnicode=true&characterEncoding=UTF-8,但是问什 ...

  4. 解决eclipse中Findbugs检查不生效的问题

    eclipse安装了Findbugs插件, 但是在eclipse中发现不了bug错误, 具体表现为指定的类存在findbugs, 已经通过其他工具检查出来, 但是在eclipse中就是无法报告错误. ...

  5. shell2-if判断2

    1.条件判断if 判断条件:then //单分支语句 命令1 命令2fi 例子: #!/bin/bash ls if [ $? -eq 0 ]; then echo "执行成功了" ...

  6. 《python深度学习》(高清、源码).PDF,免费无需任何解压密码

    链接:https://pan.baidu.com/s/1zx20XEpPBJeBG2e1IGMc6g 提取码:wub3

  7. Python_对excel表格读写-openpyxl、xlrd&xlwt

    openpyxl 和 xlrd&xlwt 都能对excel进行读写,但是它们读写的格式不同,openpyxl 只能读写 xlsx格式的excel,xlrd&xlwt 只能读写 xls格 ...

  8. spring security 继承 WebSecurityConfigurerAdapter 的重写方法configure() 参数 HttpSecurity 常用方法及说明

    HttpSecurity 常用方法及说明 方法 说明 openidLogin() 用于基于 OpenId 的验证 headers() 将安全标头添加到响应 cors() 配置跨域资源共享( CORS ...

  9. 你不得不了解的Python3.x新特性

    从 3.0 到 3.8,Python 3 已经更新了一波又一波,但似乎我们用起来和 2.7 没有太大区别?以前该怎么写 2.7 的代码现在就怎么写,只不过少数表达方式变了而已.在这篇文章中,作者介绍了 ...

  10. 论文翻译:2021_AEC IN A NETSHELL: ON TARGET AND TOPOLOGY CHOICES FOR FCRN ACOUSTIC ECHO CANCELLATION

    论文地址:https://ieeexploreieee.53yu.com/abstract/document/9414715 Netshell 中的 AEC:关于 FCRN 声学回声消除的目标和拓扑选 ...