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 ...
随机推荐
- day21(1)---python的内存管理
垃圾回收机制: 不能被程序访问到的数据,就称之为垃圾. 引用计数:引用计数是用来记录值的内存地址被记录的次数的 每一次对值地址的引用都可以使得该值的引用计数+1 每一次对值地址的释放都可以使得该值的引 ...
- c++面经积累<2>
4.类成员初始化方式:列表初始化和赋值初始化 赋值初始化通过在函数体内进行赋值,列表初始化,在构造函数后面加上冒号,使用初始化列表进行初始化.在函数体内进行初始化,是在所有的数据成员被分配内存空间后进 ...
- Lightoj 1128 - Greatest Parent
Gate 倍增模板,在一个严格小根堆中,给定$x,y$,求$x$的祖先中$≥y$的最高点. 注意清零 #include<cstdio> #include<iostream> # ...
- vue diff 算法学习
function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) { let oldStartIdx ...
- matplotlib绘图的基本操作
转自:Laumians博客园 更简明易懂看Matplotlib Python 画图教程 (莫烦Python)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili. ...
- mybatis 使用事务处理
mybatis默认开启事务 以前使用JDBC的时候,如果要开启事务,我们需要调用conn.setAutoCommit(false)方法来关闭自动提交,之后才能进行事务操作,否则每一次对数据库的操作都会 ...
- 6-4 The present perfect
1 Summary The present perfect is an important verb tense in English. It is used to talk about things ...
- CentOS下添加Root权限用户(超级用户)方法
1.添加普通用户[root@server ~]# useradd chenjiafa //添加一个名为chenjiafa的用户[root@server ~]# passwd chenjiafa ...
- Windows 10 Update
services.msc Windows Update
- socket编程初识
一.socket 1.socket层 2.socket的理解 写python代码的时候socket就像是一个模块,通过import导入,通过调用模块中的方法建立两个进程之间的连接和通信. Socket ...