POJ3263 Tallest Cow

Tallest Cow

Time Limit: 2000MS   Memory Limit: 65536K
Total Submissions: 2368   Accepted: 1084

Description

FJ‘s N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told only the height H (1 ≤ H ≤ 1,000,000) of the tallest cow along with the index I of that cow.

FJ has made a list of R (0 ≤ R ≤ 10,000) lines of the form "cow 17 sees cow 34". This means that cow 34 is at least as tall as cow 17, and that every cow between 17 and 34 has a height that is strictly smaller than that of cow 17.

For each cow from 1..N, determine its maximum possible height, such that all of the information given is still correct. It is guaranteed that it is possible to satisfy all the constraints.

Input

Line 1: Four space-separated integers: N, I, H and R
Lines 2..R+1: Two distinct space-separated integers A and B (1 ≤ A, BN), indicating that cow A can see cow B.

Output

Lines 1..N: Line i contains the maximum possible height of cow i.

Sample Input

9 3 5 5
1 3
5 3
4 3
3 7
9 8

Sample Output

5
4
5
3
4
4
5
5
5

Source

USACO 2007 January Silver

显然区间不会重叠,差分做就可以了。注意区间判重

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <cstdlib>
 5 #include <algorithm>
 6
 7 inline void read(int &x)
 8 {
 9     x = 0;char ch = getchar(),c = ch;
10     while(ch < ‘0‘ || ch > ‘9‘)c = ch, ch = getchar();
11     while(ch <= ‘9‘ && ch >= ‘0‘)x = x * 10 + ch - ‘0‘, ch = getchar();
12     if(c == ‘-‘)x = -x;
13 }
14
15 const int INF = 0x3f3f3f3f;
16 const int MAXN = 10000 + 10;
17
18 int n,rank,h,R,tmp;
19 int data[MAXN], l[MAXN], r[MAXN], cnt[MAXN];
20
21 bool cmp(int a, int b)
22 {
23     return l[a] == l[b] ? r[a] < r[b] : l[a] < l[b];
24 }
25
26 int main()
27 {
28     read(n),read(rank),read(h),read(R);
29     for(register int i = 1;i <= R;++ i)
30     {
31         read(l[i]),read(r[i]);
32         if(l[i] > r[i]) tmp = l[i], l[i] = r[i], r[i] = tmp;
33         cnt[i] = i;
34     }
35     std::sort(cnt + 1, cnt + 1 + R, cmp);
36     register int p, pp;
37     for(register int i = 1;i <= R;++ i)
38     {
39         p = cnt[i];pp = cnt[i - 1];
40         if(l[p] == l[pp] && r[p] == r[pp])continue;
41         data[l[p] + 1] -= 1, data[r[p]] += 1;
42     }
43
44     for(register int i = 1;i <= n;++ i)
45     {
46         data[i] += data[i - 1];
47         printf("%d\n", data[i] + h);
48     }
49     return 0;
50 }
时间: 2024-08-05 21:40:53

POJ3263 Tallest Cow的相关文章

Tallest Cow(POJ3263)

Tallest Cow(POJ3263) 给出N头牛的身高,和M对关系(ai与bi可以相互看见.即他们中间的牛都比他们矮).已知最高的牛为第P头,身高为H.求每头牛的身高最大可能是多少.( \(1 \leq N,M \leq 10^4, 1 \leq H \leq 10^6\) ) 输入样例: 9 3 5 5 1 3 5 3 4 3 3 7 9 8 输出样例: 5 4 5 3 4 4 5 5 5 分析: 朴素解法:数组C初始化0 ,ai与bi之间的数减一 最后设C[P] = 0 即Hi = H+

poj 3263 Tallest Cow(线段树)

Language: Default Tallest Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1964   Accepted: 906 Description FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which i

[BZOJ1635][Usaco2007 Jan]Tallest Cow 最高的牛

1635: [Usaco2007 Jan]Tallest Cow 最高的牛 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 656  Solved: 402 [Submit][Status][Discuss] Description FJ's N (1 <= N <= 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive inte

1635: [Usaco2007 Jan]Tallest Cow 最高的牛

1635: [Usaco2007 Jan]Tallest Cow 最高的牛 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 383  Solved: 211[Submit][Status] Description FJ's N (1 <= N <= 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height

洛谷 P2879 [USACO07JAN]区间统计Tallest Cow 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接:https://www.luogu.org/problem/show?pid=2879 题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told on

BZOJ1635 [Usaco2007 Jan]Tallest Cow 最高的牛 数列差分

Description FJ's N (1 <= N <= 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told only the height H (1 <= H <= 1,000,000) of the tallest cow along with

BZOJ 1635: [Usaco2007 Jan]Tallest Cow 最高的牛

题目 1635: [Usaco2007 Jan]Tallest Cow 最高的牛 Time Limit: 5 Sec  Memory Limit: 64 MB Description FJ's N (1 <= N <= 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are t

洛谷P2879 [USACO07JAN]区间统计Tallest Cow

To 洛谷.2879 区间统计 题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told only the height H (1 ≤ H ≤ 1,000,000) of the tallest cow along with th

[USACO07JAN]区间统计Tallest Cow

题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told only the height H (1 ≤ H ≤ 1,000,000) of the tallest cow along with the index I of tha