BZOJ1651--[Usaco2006 Feb]Stall Reservations 专用牛棚

标签: c++
774人阅读 评论(0) 收藏 举报
分类:

1651: [Usaco2006 Feb]Stall Reservations 专用牛棚

Time Limit: 10 Sec  Memory Limit: 64 MB
Submit: 849  Solved: 484
[Submit][Status][Discuss]

Description

Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked over some precise time interval A..B (1 <= A <= B <= 1,000,000), which includes both times A and B. Obviously, FJ must create a reservation system to determine which stall each cow can be assigned for her milking time. Of course, no cow will share such a private moment with other cows. Help FJ by determining: * The minimum number of stalls required in the barn so that each cow can have her private milking period * An assignment of cows to these stalls over time

有N头牛,每头牛有个喝水时间,这段时间它将专用一个Stall 现在给出每头牛的喝水时间段,问至少要多少个Stall才能满足它们的要求

Input

* Line 1: A single integer, N

* Lines 2..N+1: Line i+1 describes cow i's milking interval with two space-separated integers.

Output

* Line 1: The minimum number of stalls the barn must have.

* Lines 2..N+1: Line i+1 describes the stall to which cow i will be assigned for her milking period.

Sample Input

5
1 10
2 4
3 6
5 8
4 7

Sample Output

4


OUTPUT DETAILS:

Here's a graphical schedule for this output:

Time 1 2 3 4 5 6 7 8 9 10
Stall 1 c1>>>>>>>>>>>>>>>>>>>>>>>>>>>
Stall 2 .. c2>>>>>> c4>>>>>>>>> .. ..
Stall 3 .. .. c3>>>>>>>>> .. .. .. ..
Stall 4 .. .. .. c5>>>>>>>>> .. .. ..

Other outputs using the same number of stalls are possible.

HINT

不妨试下这个数据,对于按结束点SORT,再GREEDY的做法 1 3 5 7 6 9 10 11 8 12 4 13 正确的输出应该是3


题解

看网上有人用线段树。。。感觉很坑啊

提示说是贪心。。。

先按起始点排序,然后用优先队列存每群牛当前最后一个喝水结束的时间,每有一个新的牛要喝水时就把队列里结束时间最靠前的拿出来比较下,如果可以让新的牛喝水的话就把结束时间设为新的牛的结束时间,否则新建一个‘线程’,最后输出有多少个‘线程’就好了


#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<queue>

#define ll long long

using namespace std;

struct node{
	int s,t;
};

node a[50050];
int n;
priority_queue<int,vector<int>,greater<int> >q;

bool cmp(node x,node y){
	return x.s<y.s;
}

int main(){
	scanf("%d",&n);
	for(int i=0; i<n; i++){
		scanf("%d%d",&a[i].s,&a[i].t);
	}
	sort(a,a+n,cmp);
	for(int i=0; i<n; i++){
		if(q.size()==0){
			q.push(a[i].t);
			continue;
		}
		int t=q.top();
		if(t<a[i].s)q.pop();
		t=a[i].t;
		q.push(t);
	}
	printf("%d\n",q.size());
	
	return 0;
}



查看评论

51nod 1428 && bzoj 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚

1651: [Usaco2006 Feb]Stall Reservations 专用牛棚 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 951  So...
  • Jaihk662
  • Jaihk662
  • 2017-08-22 23:07:45
  • 300

[BZOJ1651] [Usaco2006 Feb]Stall Reservations 专用牛棚

传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1651题目大意给出奶牛运动的时间段,询问同一时间最多的奶牛数题解线段树或差分序列线段树var ...
  • slongle_amazing
  • slongle_amazing
  • 2015-10-14 19:28:07
  • 411

[bzoj1651][Usaco2006 Feb]Stall Reservations 专用牛棚

1651: [Usaco2006 Feb]Stall Reservations 专用牛棚Time Limit: 10 Sec Memory Limit: 64 MB Submit: 930 So...
  • qq_36993218
  • qq_36993218
  • 2017-08-03 15:11:15
  • 95

bzoj1651: [Usaco2006 Feb]Stall Reservations 专用牛棚

1651: [Usaco2006 Feb]Stall Reservations 专用牛棚 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 663  ...
  • Cynthia_wjyi
  • Cynthia_wjyi
  • 2015-10-25 16:19:13
  • 245

1651: [Usaco2006 Feb]Stall Reservations 专用牛棚

1651: [Usaco2006 Feb]Stall Reservations 专用牛棚 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 830  ...
  • qq_34564984
  • qq_34564984
  • 2016-11-13 18:16:45
  • 121

[Usaco2006 Feb]Stall Reservations 专用牛棚

[Usaco2006 Feb]Stall Reservations 专用牛棚
  • wang3312362136
  • wang3312362136
  • 2017-07-05 12:24:23
  • 97

bzoj1651[Usaco2006 Feb]Stall Reservations 专用牛棚

Description Oh those picky N (1
  • zhb1997
  • zhb1997
  • 2014-06-04 23:15:17
  • 466

[BZOJ1651][Usaco2006 Feb]Stall Reservations 专用牛棚(线段树)

题目描述传送门题解把所有区间覆盖了之后求覆盖的最大值即可 线段树裸题。。。代码#include #include #include #include #include using namespace...
  • Clove_unique
  • Clove_unique
  • 2017-01-29 19:09:43
  • 440

BZOJ 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚

Description Oh those picky N (1
  • u013810072
  • u013810072
  • 2014-08-07 09:59:56
  • 432

bzoj 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚 (线段树)

1651: [Usaco2006 Feb]Stall Reservations 专用牛棚 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 843  ...
  • clover_hxy
  • clover_hxy
  • 2016-12-26 07:20:45
  • 149
    个人资料
    持之以恒
    等级:
    访问量: 5万+
    积分: 1825
    排名: 2万+
    最新评论