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

其次建立一个堆,重载小于号(只可以重载小于号),优先按照右端点的时间排序,大的放下面(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. 快速登陆linux服务器

    前言 本文适用于喜欢原生终端的用户,钟爱第三方ssh客户端的可以无视....客户端可以保存用户信息和密码,比较无脑.mac可以使用终端,win可以使用git的bash. 上次分享了配置非对称秘钥免密登 ...

  2. visual studio code的python编程中遇到的SyntaxError:invalid syntax问题的原因和解决办法

    一.问题重现描述 1.最开始,正常执行语句 2.当我在"终端窗口"输入python进入交互模式后,再选择默认的"在终端中运行python文件"运行代码报错 3. ...

  3. 带你熟悉鸿蒙轻内核Kconfig使用指南

    摘要:本文介绍了Kconfig的基础知识,和鸿蒙轻内核的图形化配置及进阶的使用方法. 本文分享自华为云社区<鸿蒙轻内核Kconfig使用笔记>,作者: zhushy. 1. Kconfig ...

  4. iGPT and ViT

    目录 概 主要内容 iGPT ViT 代码 Chen M., Radford A., Child R., Wu J., Jun H., Dhariwal P., Luan D., Sutskever ...

  5. Causal Inference

    目录 Standardization 非参数情况 Censoring 参数模型 Time-varying 静态 IP weighting 无参数 Censoring 参数模型 censoring 条件 ...

  6. Inverse/Implicit Function Theorem

    目录 4.1 The Inverse Function Theorem The Implicit Function Theorem 4.3 Curves and Surfaces 4.4 The Mo ...

  7. [opencv]keypoint数据结构分析

    KeyPoint这数据结构中有如下数据成员: angle:角度,表示特征点的方向,通过Lowe大神的论文可以知道,为了保证方向不变形,SIFT算法通过对特征点周围邻域进行梯度运算,求得该点方向.-1为 ...

  8. css中cursor(光标类型)

    值 描述 url 需使用的自定义光标的 URL. 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标. default 默认光标(通常是一个箭头) auto 默认.浏览器 ...

  9. 从零开始学springboot-1.创建项目

    新建一个项目 添加依赖 点击完成,项目结构如下 手动添加以下依赖 打开pom.xml文件,手动添加以下依赖,用于自动生成代码 <dependency> <groupId>com ...

  10. css 快速入门 系列 —— 浮动

    浮动 以 mdn float 文档 为基础,逐一介绍浮动的本质.浮动的诸多特性.清除浮动以及块格式化上下文(bfc). 概念 当一个元素浮动之后,它会被移出正常的文档流,然后向左或者向右平移,一直平移 ...