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

其次建立一个堆,重载小于号(只可以重载小于号),优先按照右端点的时间排序,大的放下面(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. treecnt 算法马拉松20(告别美国大选及卡斯特罗)

    treecnt 基准时间限制:1 秒 空间限制:131072 KB 给定一棵n个节点的树,从1到n标号.选择k个点,你需要选择一些边使得这k个点通过选择的边联通,目标是使得选择的边数最少. 现需要计算 ...

  2. codeforces(Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) )(C,D)

    C. Destroying Array time limit per test 1 second memory limit per test 256 megabytes input standard ...

  3. GCD (hdu 5726)

    GCD Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...

  4. Codeforces 567C:Geometric Progression(DP)

    time limit per test : 1 second memory limit per test : 256 megabytes input : standard input output : ...

  5. MyBatis练习——使用MyBatis查询所有职员信息

    实现要求: 使用MyBatis查询所有职员信息 create table employee( id int not null auto_increment, name varchar(255) not ...

  6. 使用 windows bat 脚本命令一键实现快速配置JDK 环境变量

    %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe"," ...

  7. 编写Java程序,将JButton按钮按网格布局管理器格式放置

    返回本章节 返回作业目录 需求说明: 将JButton按钮按网格布局管理器格式放置 实现思路: 实现代码: public void init(){ setLayout(new GridLayout(4 ...

  8. Ditto剪贴板增强工具

    1.简介 Ditto是一款强大的Windows剪贴板增强工具,它支持64位操作系统,而且完全免费,绿色开源,支持中文,而且还有免安装的绿色版本. 开启Ditto后,不会有任何程序界面出现,它只是默默地 ...

  9. .net core中EFCore发出警告:More than twenty 'IServiceProvider' instances have been created for internal use by Entity Framework

    最近使用.net core k开发时,碰到个问题,Ef使用中程序发出了一个警告: More than twenty 'IServiceProvider' instances have been cre ...

  10. 过年有燃放烟花爆竹禁令那我们用css写一个仙女棒烟花看看吧

    先是去找了一张简易画的烟花照片,可以看出主要结构为歪曲的线条结构. 方案一: 弯曲的线条第一反应到的就是"圆角边框": width: 200px; height: 200px; b ...