codeforces 651B Beautiful Paintings(贪心)
2016-03-11 14:13
344 查看
大意:给定一列数问排列任意改变顺序使(a[i+1]>a[i])的最多数目。
思路:n为1000,1<=a[i]<=1000所以直接哈希暴力,然后就是统计数目。
法二:全部匹配完成的话剩下的肯定是某个数量最多的数,所以用总的减去多的就是剩下的。
即ans=n-max(num[arr[i] ]);
思路:n为1000,1<=a[i]<=1000所以直接哈希暴力,然后就是统计数目。
#include <iostream> #include<string> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int ha[1000000]; int main() { int n,m,i,j,k; while(~scanf("%d",&n)){ memset(ha,0,sizeof(ha)); for(i=0;i<n;++i){ scanf("%d",&k); ha[k]++; } int ans=0,pos=0; while(1){ pos=0; bool vis=false; for(i=1;i<=1000;++i){ if(ha[i]){ pos++; ha[i]--; vis=true; } } if(!vis) break; ans+=(pos-1); } printf("%d\n",ans); } return 0; }
法二:全部匹配完成的话剩下的肯定是某个数量最多的数,所以用总的减去多的就是剩下的。
即ans=n-max(num[arr[i] ]);
相关文章推荐
- 详细解析Raid0、Raid0+1、Raid1、Raid5四者的区别
- 假如AIphago五战全胜李世石
- grid@m3's password: Permission denied, please try again.
- 关于sakai-resource报告异常
- 1106. Lowest Price in Supply Chain (25)
- Playfair密码
- keychain 专研
- CFileException文件的异常处理 http://blog.csdn.net/holandstone/article/details/7602249
- 70. Climbing Stairs
- 5分钟看懂│从深蓝到阿尔法狗,人机大战20年进化了什么?
- HashMap的containskey源码分析
- Email--Send
- 人工智能真的要取代人类了?
- 人工智能真的要取代人类了?
- 自定义View笔记——Paint
- main执行前后
- main执行前后
- Jetbrains Product Patch or Keygen
- 【经典转载】Linux进程学习系列之五 等待进程结束wait()和waitpid()函数
- 【设计配色宝典】设计师必备七色配色宝典,附AI源文件!