CodeForces 673C - Bear and Colors(模拟)
2016-12-07 17:59
375 查看
C. Bear and Colors
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
Bear Limak has n colored balls, arranged in one long row. Balls are numbered 1 through n, from left to right. There are n possible colors, also numbered 1 through n. The i-th ball has color ti.
For a fixed interval (set of consecutive elements) of balls we can define a dominant color. It’s a color occurring the biggest number of times in the interval. In case of a tie between some colors, the one with the smallest number (index) is chosen as dominant.
There are non-empty intervals in total. For each color, your task is to count the number of intervals in which this color is dominant.
Input
The first line of the input contains a single integer n (1 ≤ n ≤ 5000) — the number of balls.
The second line contains n integers t1, t2, …, tn (1 ≤ ti ≤ n) where ti is the color of the i-th ball.
Output
Print n integers. The i-th of them should be equal to the number of intervals where i is a dominant color.
Examples
input
4
1 2 1 2
output
7 3 0 0
input
3
1 1 1
output
6 0 0
Note
In the first sample, color 2 is dominant in three intervals:
An interval [2, 2] contains one ball. This ball’s color is 2 so it’s clearly a dominant color.
An interval [4, 4] contains one ball, with color 2 again.
An interval [2, 4] contains two balls of color 2 and one ball of color 1.
There are 7 more intervals and color 1 is dominant in all of them.
题意:
已知一串数字,每种数字代表一种颜色,如果一个区间[i,j]中, ai颜色出现次数最多或者有和ai出现次数一样多的颜色但是颜色编号都比ai大,那么ai就是这个区间的领导颜色,统计各种颜色领导的区间数量。
解题思路:
模拟。
AC代码:
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
Bear Limak has n colored balls, arranged in one long row. Balls are numbered 1 through n, from left to right. There are n possible colors, also numbered 1 through n. The i-th ball has color ti.
For a fixed interval (set of consecutive elements) of balls we can define a dominant color. It’s a color occurring the biggest number of times in the interval. In case of a tie between some colors, the one with the smallest number (index) is chosen as dominant.
There are non-empty intervals in total. For each color, your task is to count the number of intervals in which this color is dominant.
Input
The first line of the input contains a single integer n (1 ≤ n ≤ 5000) — the number of balls.
The second line contains n integers t1, t2, …, tn (1 ≤ ti ≤ n) where ti is the color of the i-th ball.
Output
Print n integers. The i-th of them should be equal to the number of intervals where i is a dominant color.
Examples
input
4
1 2 1 2
output
7 3 0 0
input
3
1 1 1
output
6 0 0
Note
In the first sample, color 2 is dominant in three intervals:
An interval [2, 2] contains one ball. This ball’s color is 2 so it’s clearly a dominant color.
An interval [4, 4] contains one ball, with color 2 again.
An interval [2, 4] contains two balls of color 2 and one ball of color 1.
There are 7 more intervals and color 1 is dominant in all of them.
题意:
已知一串数字,每种数字代表一种颜色,如果一个区间[i,j]中, ai颜色出现次数最多或者有和ai出现次数一样多的颜色但是颜色编号都比ai大,那么ai就是这个区间的领导颜色,统计各种颜色领导的区间数量。
解题思路:
模拟。
AC代码:
#include<bits/stdc++.h> using namespace std; const int maxn = 5e3+5; int a[maxn]; int cnt[maxn]; int res[maxn]; int main() { int n; scanf("%d",&n); for(int i = 1;i <= n;i++) scanf("%d",&a[i]); for(int i = 1;i <= n;i++) { memset(cnt,0,sizeof(cnt)); cnt[a[i]]++; res[a[i]]++; int index = a[i],minn = 1; for(int j = i+1;j <= n;j++) { cnt[a[j]]++; if(minn < cnt[a[j]]) minn = cnt[a[j]],index = a[j]; else if(minn == cnt[a[j]] && a[j] < index) index = a[j]; res[index]++; } } for(int i = 1;i <= n;i++) printf("%s%d",i == 1?"":" ",res[i]); return 0; }
相关文章推荐
- CodeForces 673C Bear and Colors
- Codeforces 673C Bear and Colors【暴力枚举】
- CodeForces 658A Bear and Reverse Radewoosh(模拟)
- Codeforces 653C Bear and Up-Down 【模拟】
- 【Codeforces Round #351 Div. 2】 673C Bear and Colors
- Codeforces--658C--Bear and Forgotten Tree 3(模拟&&技巧)(好题)
- codeforces 673C C. Bear and Colors(暴力)
- CodeForces 643 A.Bear and Colors(水~)
- CodeForces - 658A Bear and Reverse Radewoosh (模拟)水
- codeforces 351 div2 C. Bear and Colors 暴力
- Codeforces--658A--Bear and Reverse Radewoosh(模拟)
- CodeForces 771C Bear and Tree Jumps 树形DP
- Codeforces 137A-Postcards and photos(模拟+贪心)
- codeforces 750-C. New Year and Rating(模拟)
- Codeforces 658B Bear and Displayed Friends【set】
- Codeforces Good Bye 2017 908F - New Year and Rainbow Roads 贪心+模拟
- codeforces 442C C. Artem and Array(有深度的模拟)
- CodeForces 385D: Bear and Floodlight
- Codeforces Good Bye 2016 C. New Year and Rating(模拟)
- CodeForces 653 A. Bear and Three Balls——(IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2))