UVa11100
来源:互联网 发布:c30混凝土回弹数据 编辑:程序博客网 时间:2024/06/06 16:27
题目链接
简介:
给定n个整数,把ta们划分成尽量少的严格递增序列
分析:
记录每一个数字出现的次数cnt[i]
k=max{cnt[i]}
困难一点的是解的构造:
在题目中有这样一句话:
简单来说让每个背包装载的东西尽量相等
所以我们把所有的物品保存下来之后,从小到大排序
选1~k的物品为这k个背包的第一个物品
至于每一个背包i,属于ta的物品编号是i+x*k
这样就能保证每个背包尽量均衡
//这里写代码片#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int a[1000010];int n;int main(){ while (scanf("%d",&n)!=EOF&&n) { int ans=0; int cnt=1; for (int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); for (int i=2;i<=n;i++) { if (a[i]==a[i-1]) cnt++; else cnt=1; ans=max(ans,cnt); } printf("%d\n",ans); for (int i=1;i<=ans;i++) { printf("%d",a[i]); for (int j=i+ans;j<=n;j+=ans) printf(" %d",a[j]); printf("\n"); } } return 0;}
阅读全文
0 0
- uva11100
- uva11100
- uva11100
- uva11100
- uva11100
- uva11100
- UVa11100
- uva11100 - The Trip, 2007
- UVA11100- The Trip, 2007
- uva11100 - The Trip, 2007
- [贪心]UVA11100 - The Trip, 2007
- UVA11100 The Trip, 2007(贪心)
- uva11100 - The Trip, 2007(旅行2007)
- UVA11100旅行(大包装小包,问最少多少个包)
- String、StringBuffer与StringBuilder之间区别
- [设计]适配器模式
- 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。
- 光学镜头的主要参数
- 10.19考试爆炸记
- UVa11100
- 2012-10-20 NOIP模拟赛“高级打字机”O(n)离线算法
- vscode2017最佳实战-python-更新20171024
- [设计]组合模式
- 總結——關於2017 10 19測試的分析總結
- 机器视觉解决方案提供商TOP 10—2016
- centos7启动https服务
- 五大常用算法——分治法,动态规划,回溯法,分支界限法,贪心算法概述
- 硬件SPI实现