【POJ3190】Stall Reservations
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相关推荐
- 【贪心】Stall Reservations(luogu 2859/poj 3190)
Stall Reservations luogu 2859 poj 3190 题目大意: 有n头牛,每头牛都有自己的挤奶时间,挤奶时间内每头牛用一个奶棚,现在问最少需要多少个奶棚 输入样例 5 1 1 ...
- Bailian4144 畜栏保留问题【贪心】
4144:畜栏保留问题 总时间限制: 1000ms 内存限制: 65536kB 描述 农场有N头牛,每头牛会在一个特定的时间区间[A, B](包括A和B)在畜栏里挤奶,且一个畜栏里同时只能有一头牛在挤 ...
- 【HDOJ图论题集】【转】
1 =============================以下是最小生成树+并查集====================================== 2 [HDU] 3 1213 How ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- POJ前面的题目算法思路【转】
1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...
- 【项目】健康项目day6总结
第6章 移动端开发-体检预约.手机快速登录 学习目标: 了解体检预约流程业务 能够基于阿里云短信服务实现短信发送 掌握体检预约的实现过程[重中之重] 掌握预约成功页面展示的实现过程 了解移动端手机快速 ...
- 【转载】SAP字段与表的对应关系
MASTER DATA-主数据 Customer Master KNA1 Customer Basic Data KNB1 ...
- 13 对话一 【96】
13 对话一 [96] This line is taking forever! It sure is. But lunch hour is the busiest time of day. Tha ...
- 【阅读】A Comprehensive Survey on Distributed Training of Graph Neural Networks——翻译
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] (本文中,涉及到公式部分的翻译不准确,请看对应原文.) 另一篇:[阅读]Distributed Graph Neural Networ ...
最新文章
- Extjs Ext.TreePanel
- Kona 8:鹅厂基于OpenJDK开源的JDK
- “破五唯”之后,竟然立这个!
- 呼和浩特市智慧平安城市建设迈进技防新时代
- 织梦html不能生成,内容预览及生成HTML
- 使用guava带来的方便
- idea中java文件红色处理
- 鼠标缩略图遥感图像显示时的连动效果——Qt实现
- mysql 授权类型_MySQL-02-授权及数据类型
- Zepto:实现移动端tab选项
- mysql去除重复数据 重建表_MySQL 中重建mysql库中的表
- mysql临时表多线程时能用吗_学会使用临时表优化,切记不要乱用临时表(记录一)...
- 怎么删除内网计算机IP地址,如何能在局域网中隐藏电脑及IP地址
- 技术系统进化法则包括_TRIZ理论八大技术系统进化法则.doc
- JAVA--计算长方体、四棱锥的表面积和体积
- cdlinux 0.9.8_Cdlinux的GNU / Linux发行版0.9.6.1版
- 多线程系列学习:AQS(一)获取锁
- android指纹解锁分析,浅析4种手机指纹解锁方式的优劣势
- activiti——结束事件
- [软件发布]WAP网站在线浏览器 WapReader
热门文章
- js json制表符报错_Node.js一个好汉的三个帮
- word目录怎么跳转到相应页码_Word目录不会做?请看完整操作步骤
- python自动化办公教程百度云-用Python自动办公,做职场高手,16章完整版百度云盘...
- python学了真的很有用吗-学习Python真的有必要参加培训吗?老男孩Python学习机构...
- python有道-Python调用有道词典翻译
- python入门教程pdf-python基础教程:《Python编程无师自通》PDF版百度云下载
- 无基础学python能干什么-呼市学Python语言能干什么
- python软件下载安装百度网盘-Python自动化测试视频教程【百度云盘下载】
- 简单python脚本实例-简单了解python调用其他脚本方法实例
- ICRoute 语音识别芯片/声控芯片 用声音去沟通 LD332X系列语音识别芯片