option=com_onlinejudge&Itemid=8&category=512&page=show_problem&problem=2041">题目链接

题意:给定n个正整数。把它们划分成尽量少的严格递增序列(前一个数必须小于后一个数)。输出序列个数的最小值k和这k个序列。

思路:出现次数最多的个数就是序列的个数。输出比較麻烦。但我们仅仅要每k个数输出一个数字,那么最后就能够将全部序列都输出来了。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std; const int INF = 1000000;
const int MAXN = 10005; int n;
int arr[MAXN], num[MAXN]; int main() {
int t = 0;
while (scanf("%d", &n) && n) {
memset(num, 0, sizeof(num));
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
num[arr[i]]++;
}
arr[n] = INF;
int Max = 0, cnt = 0, temp = 0;
for (int i = 0; i < MAXN; i++) {
if (num[i] > cnt) {
cnt = num[i];
temp = i;
}
}
Max = num[temp];
if (t)
printf("\n");
t = 1;
printf("%d\n", Max); sort(arr, arr + n);
for (int i = 0; i < Max; i++) {
printf("%d", arr[i]);
for (int j = i + Max; j < n; j += Max) {
printf(" %d", arr[j]);
}
printf("\n");
}
}
return 0;
}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

UVA11100- The Trip, 2007的更多相关文章

  1. UVA 11100 The Trip, 2007 贪心(输出比较奇葩)

    题意:给出n个包的大小,规定一个大包能装一个小包,问最少能装成几个包. 只要排序,然后取连续出现次数最多的数的那个次数.输出注意需要等距输出. 代码: /* * Author: illuz <i ...

  2. UVA 11100 The Trip, 2007 (贪心)

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  3. UVa 11100 The Trip, 2007

    今天的教训:做题要用大块的时间来做,上午做一下,做题做到一半就去忙别的事,那么后面再做的时候就无限CE,WA了.因为你很难或者需要很长时间来找回当时的思路. 题意:就像套瓷娃娃一样,有n个包,大小可能 ...

  4. UVa 11100 - The Trip, 2007 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  5. [UVA-11100] The Trip

    题目大意 大箱子能装小箱子,求在满足最少箱子的情况下,最小化每个箱子中最大的箱子个数. 解析 想到二分枚举箱子数,然后贪心的选择放进箱子的位置. 最优策略一定是将最大的 \(m\) 个先找出来,然后把 ...

  6. UVA 11100 The Trip, 2007 水题一枚

    题目链接:UVA - 11100 题意描述:n个旅行箱,形状相同,尺寸不同,尺寸小的可以放在尺寸大的旅行箱里.现在要求露在最外面的旅行箱的数量最少的同时满足一个旅行箱里放的旅行箱的数量最少.求出这样满 ...

  7. UVa 11100 The Trip, 2007 (题意+贪心)

    题意:有n个包,其中小包可以装到大的包里,包的大小用数字进行表示,求最小的装包数量. 析:这个题的题意不太好理解,主要是有一句话难懂,意思是让每个最大包里的小包数量的最大值尽量小,所以我们就不能随便输 ...

  8. <算法竞赛入门经典> 第8章 贪心+递归+分治总结

    虽然都是算法基础,不过做了之后还是感觉有长进的,前期基础不打好后面学得很艰难的,现在才慢慢明白这个道理. 闲话少说,上VOJ上的专题训练吧:http://acm.hust.edu.cn/vjudge/ ...

  9. poj 2007 Scrambled Polygon(极角排序)

    http://poj.org/problem?id=2007 Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6701   A ...

随机推荐

  1. svn跨机备份

    #!/bin/sh svn_bak_dir='/svndata/cloudil' svn_server='svn://172.16.40.200:9999' user=adminread pass=a ...

  2. Codeforces 474B Worms 二分法(水

    主题链接:http://codeforces.com/contest/474/problem/B #include <iostream> #include <cmath> #i ...

  3. Lambda高手之路第一部分

    转http://www.cnblogs.com/lazycoding/archive/2013/01/06/2847574.html 介绍 Lambda表达式是使代码更加动态,易于扩展并且更加快速(看 ...

  4. poj 1872 A Dicey Problem WA的代码,望各位指教!!!

    A Dicey Problem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 832   Accepted: 278 Des ...

  5. AW笔记本升级SSD,外接双屏中的一些注意事项

    自己留一个mark,以后提醒用. 1)机械硬盘状态下利用alien sprawn创建的系统恢复U盘,无法在SSD下使用,由于SSD中没有recovery分区,仅仅能使用随机携带的系统恢复光盘: 2)最 ...

  6. 【UVA】10012 - How Big Is It?(暴力)

    使用DFS枚举所有的安排.每次加入后,当一个圆.他的立场是最大的,并已加入了圆环中的所有切线位置前面. 14383635 10012 option=com_onlinejudge&Itemid ...

  7. firebug登陆之数据包分析

    登陆之数据包分析 工具: python-urllib2   |  firefox+firebug或者chrome,用浏览器打开登陆页面之后,按F12键会默认打开开发者工具或者启动firebug,点击n ...

  8. 如何不屏蔽Android系统的返回按键

    比如: 第一种方法: public boolean onKeyDown(int keyCode, KeyEvent event) {         // TODO Auto-generated me ...

  9. Java 兑换ObjectC代码

    现在非常多app发展,server我们使用Java发展,实时数据交换,与Android非常easy实现.是否xml依然是json,它可以很容易地转换成一个对象.这可以是硬IOS该程序猿.它们应根据数据 ...

  10. 从mina中学习超时程序编写

    从mina中学习超时程序编写 在很多情况下,程序需要使用计时器定,在指定的时间内检查连接过期.例如,要实现一个mqtt服务,为了保证QOS,在服务端发送消息后,需要等待客户端的ack,确保客户端接收到 ...