POJ 3190
摊位预订。
时间限制:1000MS内存限制:65536K。
共提交材料:12959份接受:4 546名特别法官。
描述。
哦,那些挑剔的N(1<;=N<;=50,000)奶牛!他们是如此挑剔,以至于每一头奶牛都只能在某个精确的时间间隔A.B(1<;=A<;=B<;=1,000,000)内挤奶,这包括A和B的倍数。显然,FJ必须创建一个预约系统,以确定每头奶牛可以分配给她的挤奶时间的摊位。当然,没有一头母牛会与其他母牛分享如此私密的时刻。
通过确定以下内容来帮助FJ:
牛棚中所需的最低摊位数目,以便每头奶牛都能有自己的私人挤奶时间。
随着时间的推移,奶牛被分配到这些货摊上。
对于每个测试数据集,许多答案都是正确的;一个程序将对您的答案进行评分。
输入。
第1行:单个整数,N。
行2.N+1:行I+1用两个空格分隔的整数描述COW I的挤奶间隔。
输出量。
第1行:谷仓必须有的最小摊位数量。
行2.N+1:行I+1描述了奶牛挤奶期间我将被分配到的奶牛栏。
Sample Input
5
1 10
2 4
3 6
5 8
4 7
Sample Output
4
1
2
3
2
4
这道题 的意思是,n头牛,每个牛必须在固定时间吃草且一牛一窝,问最少多少窝,且每头牛是在第几个窝吃的草
可以把每当开了一个窝,变把这个窝存入到以这个窝正在吃草的牛的结束时间进行从小到大排序,优先队列重载一下就ok了
while(pque.empty()!=)
pque.pop(); for(int i=;i<=n;++i)
{
cin>>v[i].l>>v[i].r;
v[i].pos=i;
} sort(v+,v++n,cmp); pque.push(v[]);
hhh[v[].pos]=;
int ans=;
for(int i=;i<=n;++i)
{
node temp=pque.top();
if(v[i].l>temp.r) //另外开个窝
{
hhh[v[i].pos]=hhh[temp.pos];
pque.pop();
pque.push(v[i]);
}
else
{
ans++;
hhh[v[i].pos]=ans; //记录位置
pque.push(v[i]);
}
}
POJ 3190的更多相关文章
- POJ 3190 Stall Reservations贪心
POJ 3190 Stall Reservations贪心 Description Oh those picky N (1 <= N <= 50,000) cows! They are s ...
- POJ 3190 Stall Reservations【贪心】
POJ 3190 题意: 一些奶牛要在指定的时间内挤牛奶,而一个机器只能同时对一个奶牛工作.给你每头奶牛的指定时间的区间(闭区间),问你最小需要多少机器.思路:先按奶牛要求的时间起始点进行从小到大排序 ...
- poj 3190 Stall Reservations
http://poj.org/problem?id=3190 Stall Reservations Time Limit: 1000MS Memory Limit: 65536K Total Su ...
- POJ -3190 Stall Reservations (贪心+优先队列)
http://poj.org/problem?id=3190 有n头挑剔的奶牛,只会在一个精确时间挤奶,而一头奶牛需要占用一个畜栏,并且不会和其他奶牛分享,每头奶牛都会有一个开始时间和结束时间,问至少 ...
- 【POJ 3190】 Stall Reservations
[题目链接] http://poj.org/problem?id=3190 [算法] 将这些牛按开始吃草的时间排序 维护一个数组S,Si表示畜栏i进去的最后一头牛结束吃草的时间,对于每头牛,找任意一个 ...
- Greedy:Stall Reservations(POJ 3190)
牛挤奶 题目大意:一群牛很挑剔,他们仅在一个时间段内挤奶,而且只能在一个棚里面挤,不能与其他牛共享地方,现在给你一群牛,问你如果要全部牛都挤奶,至少需要多少牛棚? 这一题如果把时间区间去掉,那就变成装 ...
- poj 3190 Stall Reservations 贪心 + 优先队列
题意:给定N头奶牛,每头牛有固定的时间[a,b]让农夫去挤牛奶,农夫也只能在对应区间对指定奶牛进行挤奶, 求最少要多少个奶牛棚,使得在每个棚内的奶牛的挤奶时间不冲突. 思路:1.第一个想法就是贪心,对 ...
- Stall Reservations(POJ 3190 贪心+优先队列)
Stall Reservations Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4434 Accepted: 158 ...
- POJ 3190 Stall Reservations (优先队列)C++
Stall Reservations Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7646 Accepted: 271 ...
随机推荐
- 抽象类练习(Job和TestJob)
package com.Summer_0427.cn; /** * @author Summer * 根据抽象类完成以下题目 * 某软件公司对程序员的工作有一个总体的规定, * 不同的类型的程序员可以 ...
- jenkins编译打包nodejs
第一步 安装nodejs插件 第二步 在全局配置管理里面添加 nodejs配置 第三步 新建任务,从git上面拉取代码 cd /opt/tomcat7/bin/workspace/confdev #进 ...
- iOS开发基础篇-Button基础
一.简单介绍 UIButton 的功能:响应用户操作.显示文字.显示图片.调整内部图片和文字的位置. 二. UIButton 的状态 UIControlStateNormal :普通状态,为默认情 ...
- C#调用Delphi DLL获取字符串(C# IntPtr 与 string互转 )
前因后果 调用一门锁的dll实现读取酒店IC卡数据,直接用Readme里的方法出错. 函数声明: 一.读卡函数 ************************ Delphi 调用 ****** ...
- Codeforces Round #546 (Div. 2)-D - Nastya Is Buying Lunch
这道题,神仙贪心题... 题意就是我给出数的顺序,并给出多个交换,每个只能用于相邻交换,问最后一个元素,最多能往前交换多少步. 我们考虑这样一个问题,如果一个这数和a[n]发生交换,那么这个数作为后面 ...
- 《Effective C++》实现:条款26-条款31
条款26:尽可能延后变量定义式的出现时间 C++推荐在使用对象前才定义对象(调用构造函数赋初值) 只在循环中使用的变量定义在循环内部(除非"赋值"成本低于"构造+析构&q ...
- JSON.stringify()的不常见用法
1.JSON.stringify()只序列化可遍历属性(enumerable=true) var obj = {}; Object.defineProperties(obj, { 'foo': { v ...
- Go语言协程
协程的特点 1.该任务的业务代码主动要求切换,即主动让出执行权限 2.发生了IO,导致执行阻塞(使用channel让协程阻塞) 与线程本质的不同 C#.java中我们执行多个线程,是通过时间片切换来进 ...
- rest framework 认证 权限 频率
认证组件 发生位置 APIview 类种的 dispatch 方法执行到 initial 方法 进行 认证组件认证 源码位置 rest_framework.authentication 源码内部需要 ...
- H5下拉刷新和上拉加载实现原理浅析
前言 在移动端H5网页中,下拉刷新和上拉加载更多数据的交互方式出现频率很高,开源社区也有很多类似的解决方案,如iscroll,pulltorefresh.js库等.下面是对这两种常见交互基本实现原理的 ...