problem

n头奶牛要在指定的时间内吃草,而一个机器只能同时给一个奶牛吃草。给你每头奶牛吃草的开始时间和结束时间,问你最小需要多少机器和每头牛对应的方案。 n<=5e4;

solution

按照开始吃草的时间将牛排序。
维护一个数组S,记录当前每个机器安排的最后一头牛。
对于每头牛,扫描S,找到一个满足的丢进去,如果没有就新建。

原始复杂度O(n^2),用一个小跟堆维护最后一头牛结束吃草的时间,即可优化到O(nlogn)。

codes

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
const int maxn = 50050;
struct cow{int l, r, id;bool operator < (const cow &b)const{return r>b.r;}
}a[maxn];  int belong[maxn];
bool cmp(cow a, cow b){ return a.l < b.l; }
priority_queue<cow>q;
int main(){int n;  cin>>n;for(int i = 1; i <= n; i++)cin>>a[i].l>>a[i].r, a[i].id=i;sort(a+1, a+n+1, cmp);int ans = 1;  q.push(a[1]);  belong[a[1].id] = 1;for(int i = 2; i <= n; i++){if(!q.empty() && q.top().r < a[i].l){belong[a[i].id] = belong[q.top().id];q.pop();q.push(a[i]);}else{belong[a[i].id] = ++ans;q.push(a[i]);}}cout<<ans<<'\n';for(int i = 1; i <= n; i++)cout<<belong[i]<<'\n';return 0;
}

【POJ3190】Stall Reservations相关推荐

  1. 【贪心】Stall Reservations(luogu 2859/poj 3190)

    Stall Reservations luogu 2859 poj 3190 题目大意: 有n头牛,每头牛都有自己的挤奶时间,挤奶时间内每头牛用一个奶棚,现在问最少需要多少个奶棚 输入样例 5 1 1 ...

  2. Bailian4144 畜栏保留问题【贪心】

    4144:畜栏保留问题 总时间限制: 1000ms 内存限制: 65536kB 描述 农场有N头牛,每头牛会在一个特定的时间区间[A, B](包括A和B)在畜栏里挤奶,且一个畜栏里同时只能有一头牛在挤 ...

  3. 【HDOJ图论题集】【转】

    1 =============================以下是最小生成树+并查集====================================== 2 [HDU] 3 1213 How ...

  4. 【转载】图论 500题——主要为hdu/poj/zoj

    转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

  5. POJ前面的题目算法思路【转】

    1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...

  6. 【项目】健康项目day6总结

    第6章 移动端开发-体检预约.手机快速登录 学习目标: 了解体检预约流程业务 能够基于阿里云短信服务实现短信发送 掌握体检预约的实现过程[重中之重] 掌握预约成功页面展示的实现过程 了解移动端手机快速 ...

  7. 【转载】SAP字段与表的对应关系

    MASTER DATA-主数据 Customer Master KNA1                         Customer Basic Data KNB1                ...

  8. 13 对话一 【96】

    13 对话一  [96] This line is taking forever! It sure is. But lunch hour is the busiest time of day. Tha ...

  9. 【阅读】A Comprehensive Survey on Distributed Training of Graph Neural Networks——翻译

    转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] (本文中,涉及到公式部分的翻译不准确,请看对应原文.) 另一篇:[阅读]Distributed Graph Neural Networ ...

最新文章

  1. Extjs Ext.TreePanel
  2. Kona 8:鹅厂基于OpenJDK开源的JDK
  3. “破五唯”之后,竟然立这个!
  4. 呼和浩特市智慧平安城市建设迈进技防新时代
  5. 织梦html不能生成,内容预览及生成HTML
  6. 使用guava带来的方便
  7. idea中java文件红色处理
  8. 鼠标缩略图遥感图像显示时的连动效果——Qt实现
  9. mysql 授权类型_MySQL-02-授权及数据类型
  10. Zepto:实现移动端tab选项
  11. mysql去除重复数据 重建表_MySQL 中重建mysql库中的表
  12. mysql临时表多线程时能用吗_学会使用临时表优化,切记不要乱用临时表(记录一)...
  13. 怎么删除内网计算机IP地址,如何能在局域网中隐藏电脑及IP地址
  14. 技术系统进化法则包括_TRIZ理论八大技术系统进化法则.doc
  15. JAVA--计算长方体、四棱锥的表面积和体积
  16. cdlinux 0.9.8_Cdlinux的GNU / Linux发行版0.9.6.1版
  17. 多线程系列学习:AQS(一)获取锁
  18. android指纹解锁分析,浅析4种手机指纹解锁方式的优劣势
  19. activiti——结束事件
  20. [软件发布]WAP网站在线浏览器 WapReader

热门文章

  1. js json制表符报错_Node.js一个好汉的三个帮
  2. word目录怎么跳转到相应页码_Word目录不会做?请看完整操作步骤
  3. python自动化办公教程百度云-用Python自动办公,做职场高手,16章完整版百度云盘...
  4. python学了真的很有用吗-学习Python真的有必要参加培训吗?老男孩Python学习机构...
  5. python有道-Python调用有道词典翻译
  6. python入门教程pdf-python基础教程:《Python编程无师自通》PDF版百度云下载
  7. 无基础学python能干什么-呼市学Python语言能干什么
  8. python软件下载安装百度网盘-Python自动化测试视频教程【百度云盘下载】
  9. 简单python脚本实例-简单了解python调用其他脚本方法实例
  10. ICRoute 语音识别芯片/声控芯片 用声音去沟通 LD332X系列语音识别芯片