Codeforces Round#375 C:Polycarp at the Radio(贪心)
来源:互联网 发布:解压缩软件下载 编辑:程序博客网 时间:2024/05/22 11:41
原题链接:点击打开链接
题意:
给出一个长度为n的歌单,每首歌由歌单对应的队伍演出,但是你只喜欢前m个(1,2....m)队伍,现在改变歌单使得你喜欢的演出最少的队伍尽量大,求需要修改几次,并输出方案。
题解:
容易看出每个乐队演出n/m首歌,故以此为最小值进行维护。
#include <cstdio> #include <cstring> #include <string>#include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <map> #include <vector> #include <iostream>#define INF 0x3f3f3f3f #define mst(a, b) memset(a, (b), sizeof(a)) #define MOD 100000007 #define ll long long #define lson node<<1, l, mid #define rson node<<1|1, mid+1, r const int maxn = 50005;using namespace std;int n, m;int a[2005],vis[2005],cnt[2005];int ans2 = 0;int main() {cin >> n >> m;for(int i=1;i<=n;i++){cin >> a[i];}int ans1 = n / m ;for(int i=1;i<=n;i++) {if (a[i] > m) continue;if (cnt[a[i]] >= ans1) continue;cnt[a[i]]++;vis[i]=1 ;}for(int i=1;i<=n;i++){if (vis[i])continue;int minm = 1e9, posi = 1e9;for(int j=1;j<=m;j++)if (cnt[j] < minm)minm = cnt[j], posi = j;if (minm == ans1) continue;ans2++;cnt[posi]++,a[i] = posi;}cout << ans1 << " " << ans2 << endl;bool flag = 0;for(int i=1;i<=n;i++){if (flag) {cout << " ";}flag = 1;cout << a[i];}cout << endl;}
0 0
- Codeforces Round#375 C:Polycarp at the Radio(贪心)
- Codeforces Round #375 (Div. 2) C. Polycarp at the Radio(贪心)
- Codeforces Round #375 (Div. 2) C. Polycarp at the Radio 贪心+排序
- Codeforces Round #375 (Div. 2) C. Polycarp at the Radio 贪心
- Codeforces Round #375 (Div. 2)-C. Polycarp at the Radio
- Codeforces Round #375 (Div. 2)C. Polycarp at the Radio
- Codeforces Round #375 (Div. 2) C Polycarp at the Radio
- Codeforces Round #375 (Div. 2) -- C. Polycarp at the Radio(水题)
- CodeForces 723C Polycarp at the Radio (贪心+暴力)
- [贪心] Codeforces 723C #375 (Div. 2) C. Polycarp at the Radio
- CodeForces 723C-Polycarp at the Radio(模拟 贪心 vector乱搞)
- 【Codeforces Round 375 (Div 2) C】【语文题】Polycarp at the Radio
- Codeforces 723 C. Polycarp at the Radio
- Codeforces 723C.Polycarp at the Radio
- codeforces Polycarp at the Radio
- Codeforces #375(Div.2)C.Polycarp at the Radio【思维】
- C. Polycarp at the Radio
- [codeforces] C. Polycarp at the Radio 数组统计
- exgcd的证明
- LeetCode Combination Sum
- 常见算法时间复杂度表
- JVM日志管理统计Runtime中freeMemory,totalMemory,maxMemory
- Eclipse之"任务"管理
- Codeforces Round#375 C:Polycarp at the Radio(贪心)
- go语言的安装和配置,以及包引用
- C/C++ Programming Generals
- 10.4题解
- touch.js
- 缓存雪崩问题
- 谈谈技术学习计划
- go web编程-使用Mux控制路由访问
- yii的relations方法的使用