题意:
       有n个包裹,每个包裹的大小都给出了,然后小的包裹可以装到大的包裹里,问最少装成多少个包裹,装成最小的包裹后还有一个限制就是让包裹数最多的那个包裹最少,就是说尽量都平均分,比如有6个,最少装成3个,平均就是全是2两个。

思路:
      一开始没看到要求是平均分,按照出现次数sort一遍之后又用了一个map来插入序列,最后用一个O(n*log(n))的方法成功WA了一次,后来看到题目是平均分(哎!被白书上的题意坑好几回了),首先说明一点,就是最小的包数k就是最多出现的数字的次数,这个我想没必要在解释了吧,现在说一下平均分的问题,既然是平均分那么我们先把所有的数字从小到大拍一遍序,然后从第1个开始取,每次跳k步..然后从第2个开始每次跳k,最后每次拿出来的个数肯定是尽量平均的,还有很关键一点就是肯定不会拿出来相同的数字,因为每次+k,最多的数字出现的是k次,就算当前是最多的那个数字的第一个,那么+k只有也变成第k+1了,已经不是当前这个数字了,不明白的找个模拟很容易就懂了。

#include<stdio.h>
#include<algorithm>

#define N 10000 + 10

using namespace std;

int num[N];

int main ()
{
   int i ,max ,n;
   while(~scanf("%d" ,&n) && n)
   {
      for(i = 1 ;i <= n ;i ++)
      scanf("%d" ,&num[i]);
      sort(num + 1 ,num + n + 1);
      int now = 1;
      for(max = 1 ,i = 2 ;i <= n ;i ++)
      {
         if(num[i] == num[i-1]) now ++;
         else now = 1;
         if(max < now) max = now;
      }
      
      printf("%d\n" ,max);
      for(i = 1 ;i <= max ;i ++)
      {
         for(int j = i ;j <= n ;j += max)
         if(j == i) printf("%d" ,num[j]);
         else printf(" %d" ,num[j]);
         puts("");
      }
   }
   return 0;
}

UVA11100旅行(大包装小包,问最少多少个包)相关推荐

  1. 8瓶酒一瓶有毒,用人测试。每次测试结果8小时后才会得出,而你只有8个小时的时间。问最少需要(B)人测试?

    8瓶酒一瓶有毒,用人测试.每次测试结果8小时后才会得出,而你只有8个小时的时间.问最少需要(B)人测试? A.2         B.3         C.4            D.6 解析:用 ...

  2. 金蝶kis商贸采购单商品代码_金蝶大包装小包装多单位计量单位换算关系用法,看了这个秒懂...

    本期视频介绍金蝶大包装,小包装单位的使用,也就是计量单位,以及盘点机PDA上的多单位操作技巧. 我们以牛奶,1箱20瓶为例,大单位是"箱",小单位是"瓶" 第一 ...

  3. 称金币问题: 有27枚金币,其中一个是假的。假的比真的略轻。现在有一个天平,问最少几次可以找出假币?

    称金币问题: 有27枚金币,其中一个是假的.假的比真的略轻.现在有一个天平,问最少几次可以找出假币? 1.此类题的最佳策略: 将总数尽可能等量的分三组进行测重:每称两组的时候,自然的能和剩下的一组进行 ...

  4. 有1000桶酒,其中1桶有毒.而一旦吃了,毒性会在1周后发作.现在我们用小老鼠做实验,要在1周内找出那桶毒酒,问最少需要多少老鼠.

    有1000桶酒,其中1桶有毒.而一旦吃了,毒性会在1周后发作.现在我们用小老鼠做实验,要在1周内找出那桶毒酒,问最少需要多少老鼠. 很老的笔试题了. 答案是10只. 把十只老鼠看成二进制的位数,把酒桶 ...

  5. 同程旅行大数据集群在 Kubernetes 上的服务化实践

    本文将向大家介绍同程旅行大数据集群在 Kubernetes 上服务化建设的一些实践和经验. 同程旅行大数据集群从 2017 年开始容器化改造,经历了自研调度 Docker 容器 ,到现在的云舱平台,采 ...

  6. 有1000瓶酒,其中只有一瓶有毒。现在用小白鼠进行实验,小白鼠只要服用任意量有毒酒就会在24小时内死亡。问最少要用多少只小白鼠进行实验才能在24小时内检测出哪瓶药水有毒?

    有1000瓶酒,其中只有一瓶有毒.现在用小白鼠进行实验,小白鼠只要服用任意量有毒酒就会在24小时内死亡.问最少要用多少只小白鼠进行实验才能在24小时内检测出哪瓶药水有毒? 这是一个二进制的问题,答案是 ...

  7. C++买糖-开学了,老师想要买棒棒糖分给同学们作为开学礼物。商店里共有两种包装的棒棒糖,每一包里面棒棒糖的数量可能不同,价格也不同。为了公平,老师决定只买一种棒棒糖。商店不允许将棒棒糖的包装拆开

    开学了,老师想要买棒棒糖分给同学们作为开学礼物.商店里共有两种包装的棒棒糖,每一包里面棒棒糖的数量可能不同,价格也不同.为了公平,老师决定只买一种棒棒糖.商店不允许将棒棒糖的包装拆开,因此老师可能会多 ...

  8. 脑力大乱斗答案92关__包大人:“看我脸色行事”

    脑力大乱斗答案92关__包大人:"看我脸色行事" 答案:调亮手机亮度!

  9. 大二妹子问锋哥,学Java还是学C,考研还是就业?

    大家好,我是锋哥,刚才一个人加我- 我TM以为生意要来了- 大二,小白,二本,迷茫 java和c "一线java年薪10万,java的话,能达到吗?" O(∩_∩)O哈哈~ jav ...

最新文章

  1. pythonfor循环遍历list_为什么for循环可以遍历list:Python中迭代器与生成器
  2. 再读《精通css》03:引入和注释
  3. linux 6.7 nfs安装yum,centos6.7下安装配置NFS
  4. java比c好逆向,吐槽一下java的效率。。。比起C差的真的好远。。。
  5. jenkins安装(用户配置)(2)
  6. python爬虫从入门到放弃(八)之 Selenium库的使用
  7. 边缘计算框架_黑科技 | 英特尔发布边缘计算加速框架最新版本 | OpenVINO 2019R02...
  8. 工作那些事儿(8)- 废旧立新
  9. 2021总结-》2022年
  10. mysqld install mysql default_Mysql_安装
  11. Dijkstra最短路径算法
  12. 阿里云网盘来了,来搭建自己“免费“私人网盘
  13. (七)linux操作系统-linux韩顺平2021笔记
  14. 超级搜索术1-信息搜索/资源搜索
  15. 如何快速搜索文件和文件内容
  16. 计算机上fn按键,笔记本上fn是哪个键fn键功能详解【方法详解】
  17. Java成员变量和局部变量
  18. NLP标注工具:brat【可用于标注:实体、关系、事件、属性】【只能用于Linux下】【开源、免费】
  19. 小米 MIUI系统 安装包 刷机
  20. HTML超链接怎么设置下拉菜单,html超链接怎么设置

热门文章

  1. 《你不知道的JavaScript》整理(四)——原型
  2. 配置系统在开机时启动虚拟机
  3. 流水线经典讲解!!!!!
  4. 【剑指offer】设置在最小数目的阵列
  5. [摘录]遇见未知的自己(一)
  6. TypePerf收集服务器性能
  7. linux添加root级别账户
  8. 2015总结 2016展望
  9. PL/SQL数据库字符集问题
  10. Java使用Optional与Stream来取代if判空逻辑(JDK8以上)