Codeforces 864D Make a Permutation!
来源:互联网 发布:美国手机直播软件 编辑:程序博客网 时间:2024/06/04 21:34
找到位置判断是否需要改,注意好细节比如需要字典序最小所以只能改成比原数更小的数
已经出现过的数才需要改
并且改也只能改成未出现的数,因为要改动次数最少
代码
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int num[200005];int vis[200005];int has[200005];int main(){ int N;; while(~scanf("%d",&N)) { memset(vis,0,sizeof vis); memset(has,0,sizeof has); int cnum=1; int cnt=0; for(int i=0;i<N;i++) { scanf("%d",&num[i]); vis[num[i]]++; } for(int i=0;i<N;i++) { if(vis[num[i]]>1) { while(vis[cnum]) cnum++; if(cnum>=num[i]&&!has[num[i]]) { has[num[i]]++; continue; } cnt++; vis[num[i]]--; vis[cnum]++; num[i]=cnum; } } printf("%d\n%d",cnt,num[0]); for(int i=1;i<N;i++) printf(" %d",num[i]); printf("\n"); } return 0;}
阅读全文
0 0
- Codeforces 864D Make a Permutation!
- CodeForces 864D Make a Permutation!
- Codeforces 864 D Make a Permutation!
- Codeforces Round #436 (Div. 2)D. Make a Permutation! codeforces-864D. Make a Permutation!
- CodeForces 864D Make a Permutation! 【贪心】【模拟】
- Codeforces Round #436 (Div. 2) 864D.Make a Permutation!
- Codeforces 864D D. Make a Permutation!【思维+线段树+二分+这是一个煞笔做法】
- D. Make a Permutation! (Codeforces Round #436 (Div. 2))
- Codeforces Round #436 (Div. 2) D. Make a Permutation!
- Codeforces Round #436 (Div. 2)-贪心-D. Make a Permutation!
- Codeforces Round #436 (Div. 2) D. Make a Permutation!
- Codeforces Round #436 (Div. 2) D. Make a Permutation!
- Codeforces Round #436 D.Make a Permutation!(贪心)
- Codeforces Round #436 (Div. 2) D. Make a Permutation!(优先队列)
- Codeforces Round #436 (Div. 2) D. Make a Permutation! 思维+贪心
- Codeforces Round #436 (Div. 2) A.Fair Game B.Polycarp and Letters C. Bus D.Make a Permutation!
- Codeforces Round #436 (Div. 2) Make a Permutation!
- Codeforces Round #436 (Div. 2) Make a Permutation!
- Eclipse汉化(Neon)
- 【MAC】 curl : (1) Protocol https not supported or disabled in libcurl
- Uva 1339 Ancient Cipher 简单解读
- 递归的几种应用
- 微信隐藏代码整理
- Codeforces 864D Make a Permutation!
- lua源码阅读(5)-lua_State
- bzoj 4184: shallot 分治+线性基
- Android textview 代码中设置粗体效果
- 简约而不简单的Django新手图文教程
- java-nio之zero copy深入分析
- gradle buildTypes
- REST和RESTFUL的相关概念理解
- datagrid怎么使用