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

其次建立一个堆,重载小于号(只可以重载小于号),优先按照右端点的时间排序,大的放下面(sort的时候会放后面),堆顶是结束时间最快的

  1. #include <iostream>
  2. #include <algorithm>
  3. #include <queue>
  4. using namespace std;
  5. const int N = 5e4 + 10;
  6. struct node {
  7. int l, r, id;
  8. bool operator < (const node &t) const {
  9. if(r != t.r) return r > t.r;
  10. return l > t.l;
  11. }
  12. }a[N];
  13. bool cmp(node a, node b) {
  14. if(a.l != b.l) return a.l < b.l;
  15. return a.r < b.r;
  16. }
  17. int n;
  18. int ans[N];
  19. int main() {
  20. while(cin >> n) {
  21. for(int i = 0; i < n; i ++ ) {
  22. int l, r; cin >> l >> r;
  23. a[i].l = l;
  24. a[i].r = r;
  25. a[i].id = i;
  26. }
  27. sort(a, a + n, cmp);
  28. priority_queue<node> q;
  29. ans[a[0].id] = 1;
  30. q.push(a[0]);
  31. int idx = 1;
  32. for(int i = 1; i < n; i ++ ) {
  33. if(!q.empty() && q.top().r < a[i].l) {
  34. ans[a[i].id] = ans[q.top().id];
  35. q.pop();
  36. } else {
  37. idx ++;
  38. ans[a[i].id] = idx;
  39. }
  40. q.push(a[i]);
  41. }
  42. cout << idx << endl;
  43. for(int i = 0; i < n; i ++ )
  44. cout << ans[i] << endl;
  45. }
  46. return 0;
  47. }

poj_3190的更多相关文章

随机推荐

  1. The Longest Straight(FZUoj2216)

     Problem 2216 The Longest Straight Accept: 82    Submit: 203Time Limit: 1000 mSec    Memory Limit : ...

  2. Probabilistic Principal Component Analysis

    目录 引 主要内容 EM算法求解 附录 极大似然估计 代码 Tipping M E, Bishop C M. Probabilistic Principal Component Analysis[J] ...

  3. 由于ios由UIWebView换成了WKWebview内核后导致webview请求接口文件上传,后台接收不到文件

    2020年4月起App Store将不再接受使用UIWebView的新App上架.2020年12月起将不再接受使用UIWebView的App更新. 解决后台文件接收不到的问题 function GLA ...

  4. 啥是Gossip协议?

    你好呀,我是歪歪. 元旦的时候我看到一个特别离谱的谣言啊,具体是什么内容我就不说了,我怕脏了大家的眼睛. 但是,我看到一个群里传的那叫一个绘声绘色,大家讨论的风生水起的,仿佛大家就在现场似的. 这事吧 ...

  5. IIS部署php项目——discuz论坛

    1.安装CgiModule模块 首先,IIS要部署php项目,需要CgiModule模块的支持,所以首先我们要确认这个模块是否存在 打开IIS管理器: 我这里是存在的: 如果不存在,可以自行在控制面板 ...

  6. java运算符2

    续: 位运算符(<<,>>,>>>) 1.<<: 3<<2,二进制左移2位,右边用0补齐       3的二进制:00000000 0 ...

  7. 论文翻译:2021_Semi-Blind Source Separation for Nonlinear Acoustic Echo Cancellation

    论文地址:https://ieeexplore.ieee.org/abstract/document/9357975/ 基于半盲源分离的非线性回声消除 摘要: 当使用非线性自适应滤波器时,数值模型与实 ...

  8. 初识python:斐波拉契数(列表获取)

    使用 列表 获取斐波拉契数,代码如下: n = int(input('您想获取前几个斐波拉契数?\n')) li = [] for i in range(n): if i <= 1: li.ap ...

  9. nginx+keepalived 简单实现主备和双主模式

    准备nginx和keepalived 安装nginx(自行安装) yum install nginx 安装keepalived(安装包安装总报错,yum安装能好一点) yum install keep ...

  10. WinMain是如何被调用的

    WinMain函数 WinMain函数原型 Win32应用程序的入口函数为WinMain,函数原型在WinBase.h文件中: int WINAPI WinMain (     _In_ HINSTA ...