时间限制:500MS  内存限制:65535K
提交次数:15 通过次数:4

收入:12

题型: 编程题   语言: C++;C

Description

  1. Huzi酱是个非常贪玩的人,除了魔方他还喜欢各种各样的玩具,所以他的"吕鹏友"为了哄他高兴,每次都要带上新的玩具去见他,这次"吕鹏友"带来的玩具是俄罗斯套娃,就是一种来自俄罗斯的
  2. 很出名的玩具,外面看上去有点像不倒翁,里面是空的,不同的套娃体积不同,因此大的套娃可以套住小的套娃。Huzi酱发现"吕鹏友"送给他的俄罗斯套娃有些特别:
  3.  
  4. 1.体积较大的套娃能套住体积较小的套娃,但是体积一定要3倍以上。例如A套娃的体积是3B套娃的体积是1,那么A可以套住BA套娃的体积是10B套娃的体积是3A的体积是B3.3333倍,
  5. 3倍以上,所以也能套住。
  6.  
  7. 2.一个大的套娃只能套住一个小的套娃。例如有A,B,C3个套娃,体积分别为12,10。那么C套娃只能套住AB其中一个,不能同时套住
  8.  
  9. 3.如果一个套娃被另一个大的套娃套住了,那么它不能再套另一个小的套娃。例如A,B,C3个套娃体积分别为1,3,9C可以套住B,但是B已经被C套住了,所以B不能再套A(虽然在体积上,B
  10. 允许套住A的)
  11.  
  12. 正在此时,Huzi酱收到了中奖短信,他被抽中了【威尼斯豪华情侣5日游】,所以Huzi酱决定带上他的俄罗斯套娃和"吕鹏友"一起去旅游,但套娃的数量实在太多了,占用了行李箱太多空间,所以
  13. Huzi酱希望用大的套娃套住小的套娃,以便减少俄罗斯套娃的个数,方便携带。但Huzi酱一直不知道要怎么计算出,他能携带的最少的套娃数量,请他帮帮他吧

输入格式

  1. 多组测试数据(1<=T<=20),以EOF结束
  2. 每组测试数据格式如下:
  3. 1行,一个数字n1<=n<=500,表示俄罗斯套娃的数量
  4. 2行,n个正整数,第k个正整数a[k]表示第k个套娃的体积,1<=a[k]<=500

输出格式

  1. 每组测试数据输出一个正整数,表示经过嵌套后,剩下的俄罗斯套娃的个数

输入样例

  1. 6
  2. 9 1 3 27 243 81
  3. 5
  4. 2 3 1 3 1
  5. 6
  6. 3 3 1 1 3 1

输出样例

  1. 3
  2. 3
  3. 3

一开始的错误结论:排序之后从小到大为每个数匹配就是结果

正确的贪心策略:对数进行排序之后,从小到大每次从中间位置(n/2)开始匹配。对于例子 1 3 6 26,1应该和6匹配,3和26匹配,

因为1能和3匹配,那么1一定能和3后面的6匹配(已排序),但6不一定能26匹配

  1.  
  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. using namespace std;
  5. int a[1000];
  6. int n;
  7. void solve()
  8. {
  9. int cnt=0;
  10. for(int i=0;i<n;++i)
  11. scanf("%d",&a[i]);
  12. sort(a,a+n);
  13. for(int i=0;i<n;++i)
  14. if(a[i]){
  15. for(int j=n/2;j<n;++j)
  16. if(a[j]>=3*a[i]) {a[j]=a[i]=0;cnt++;break;}
  17. }
  18. for(int i=0;i<n;++i) if(a[i]) cnt++;
  19. printf("%d\n",cnt);
  20. }
  21. int main()
  22. {
  23. while(~scanf("%d",&n))
  24. solve();
  25. }

17243 Huzi酱和他的俄罗斯套娃(贪心)的更多相关文章

  1. cdoj 1141 酱神寻宝 状压dp

    酱神寻宝 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1141 Descri ...

  2. UESTC_酱神寻宝 2015 UESTC Training for Dynamic Programming<Problem O>

    O - 酱神寻宝 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  ...

  3. UVA 11039-Building designing【贪心+绝对值排序】

    UVA11039-Building designing Time limit: 3.000 seconds An architect wants to design a very high build ...

  4. GYM 101173 F.Free Figurines(贪心||并查集)

    原题链接 题意:俄罗斯套娃,给出一个初始状态和终止状态,问至少需要多少步操作才能实现状态转化 贪心做法如果完全拆掉再重装,答案是p[i]和q[i]中不为0的值的个数.现在要求寻找最小步数,显然要减去一 ...

  5. 洛谷P5021 赛道修建 NOIp2018 贪心+二分答案

    正解:贪心+LCA+二分答案 解题报告: 想先港下部分分qwq因为我部分分只拿到了10ptsQAQ(时间不够不是理由,其实还是太弱,所以要想很久,所以才时间不够QAQ m=1 找直径长度,完 一条链 ...

  6. 2017年浙江工业大学大学生程序设计迎新赛预赛 H - 栗酱的文明

    题目描述         “伟大的勇士兔栽栗女王,所有栗子看到您都不寒而栗,但也非常尊重您.您骑着威风凛凛的小白兔,带领兔栽栗们奋勇前行.伟大史诗告诉我们,烈兔勇栗从大草原飞奔出来,冲在每场战争的前线 ...

  7. hdu1677 贪心

    题意: 对于给出的n个俄罗斯套娃,要求将这n个套起来(满足w1 < w2 && h1 < h2才能套进去),最后输出最少剩下的套娃个数(尽可能去套起来) 题目分析: 朴素的 ...

  8. BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]

    1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1383  Solved: 582[Submit][St ...

  9. HDOJ 1051. Wooden Sticks 贪心 结构体排序

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

随机推荐

  1. 【python】SQLAlchemy

    来源:廖雪峰 对比:[python]在python中调用mysql 注意连接数据库方式和数据操作方式! 今天发现了个处理数据库的好东西:SQLAlchemy 一般python处理mysql之类的数据库 ...

  2. 【mongo】Can't take a write lock while out of disk space错误

    今天遇到了这个错误,各种无法操作.找了很久的方案,都没用.最终发现,原来是我虚拟机硬盘满了......清除了些没用的东西,就恢复了.

  3. HDU 4793 Collision (解二元一次方程) -2013 ICPC长沙赛区现场赛

    题目链接 题目大意 :有一个圆硬币半径为r,初始位置为x,y,速度矢量为vx,vy,有一个圆形区域(圆心在原点)半径为R,还有一个圆盘(圆心在原点)半径为Rm (Rm < R),圆盘固定不动,硬 ...

  4. win8访问win7中的共享文件夹 映射网络驱动器

    同一个局域网内,配置好了一台win7(假设计算机名为A)的共享文件夹,设置方法可以参考http://www.doudouxitong.com/guzhang/xitongjiqiao/2014/082 ...

  5. supersr--图形上下文的注意点

    - (void)test { // 不要自己调用drawRect:方法的原因: // 当系统调用drawRect:方法之前, 会创建一个与当前UIView的layer相关的图形上下文, 这样就可以保证 ...

  6. Mybatis 学习笔记1

    ---恢复内容开始--- 什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获 ...

  7. [Android Pro] DES加密 version1

    reference to : http://blog.csdn.net/wfung_kwok/article/details/7766029 加密和解密要用同一個key AES: import jav ...

  8. 解决 The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

    这个时候我们只需要flush privileges 一下就OK了,mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)

  9. 读取Spring的配置文件applicationContext.xml的5种方法

    1.利用ClassPathXmlApplicationContext,这种方式配置文件应该放在类包同路径下Java代码: ApplicationContext ct=new ClassPathXmlA ...

  10. hadoop+javaWeb的开发中遇到包冲突问题(java.lang.VerifyError)

    1.HDFS + WEB 项目 报java.lang.VerifyError... 异常 抛异常: Exception in thread "main" java.lang.Ver ...