17243 Huzi酱和他的俄罗斯套娃(贪心)
时间限制:500MS 内存限制:65535K
提交次数:15 通过次数:4
收入:12
题型: 编程题 语言: C++;C
Description
Huzi酱是个非常贪玩的人,除了魔方他还喜欢各种各样的玩具,所以他的"吕鹏友"为了哄他高兴,每次都要带上新的玩具去见他,这次"吕鹏友"带来的玩具是俄罗斯套娃,就是一种来自俄罗斯的
很出名的玩具,外面看上去有点像不倒翁,里面是空的,不同的套娃体积不同,因此大的套娃可以套住小的套娃。Huzi酱发现"吕鹏友"送给他的俄罗斯套娃有些特别: 1.体积较大的套娃能套住体积较小的套娃,但是体积一定要3倍以上。例如A套娃的体积是3,B套娃的体积是1,那么A可以套住B;A套娃的体积是10,B套娃的体积是3,A的体积是B的3.3333倍,
是3倍以上,所以也能套住。 2.一个大的套娃只能套住一个小的套娃。例如有A,B,C,3个套娃,体积分别为1,2,10。那么C套娃只能套住A或B其中一个,不能同时套住 3.如果一个套娃被另一个大的套娃套住了,那么它不能再套另一个小的套娃。例如A,B,C,3个套娃体积分别为1,3,9,C可以套住B,但是B已经被C套住了,所以B不能再套A(虽然在体积上,B是
允许套住A的) 正在此时,Huzi酱收到了中奖短信,他被抽中了【威尼斯豪华情侣5日游】,所以Huzi酱决定带上他的俄罗斯套娃和"吕鹏友"一起去旅游,但套娃的数量实在太多了,占用了行李箱太多空间,所以
Huzi酱希望用大的套娃套住小的套娃,以便减少俄罗斯套娃的个数,方便携带。但Huzi酱一直不知道要怎么计算出,他能携带的最少的套娃数量,请他帮帮他吧
输入格式
多组测试数据(1<=T<=20),以EOF结束
每组测试数据格式如下:
第1行,一个数字n,1<=n<=500,表示俄罗斯套娃的数量
第2行,n个正整数,第k个正整数a[k]表示第k个套娃的体积,1<=a[k]<=500
输出格式
每组测试数据输出一个正整数,表示经过嵌套后,剩下的俄罗斯套娃的个数
输入样例
6
9 1 3 27 243 81
5
2 3 1 3 1
6
3 3 1 1 3 1
输出样例
3
3
3
一开始的错误结论:排序之后从小到大为每个数匹配就是结果
正确的贪心策略:对数进行排序之后,从小到大每次从中间位置(n/2)开始匹配。对于例子 1 3 6 26,1应该和6匹配,3和26匹配,
因为1能和3匹配,那么1一定能和3后面的6匹配(已排序),但6不一定能26匹配
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[1000];
int n;
void solve()
{
int cnt=0;
for(int i=0;i<n;++i)
scanf("%d",&a[i]);
sort(a,a+n);
for(int i=0;i<n;++i)
if(a[i]){
for(int j=n/2;j<n;++j)
if(a[j]>=3*a[i]) {a[j]=a[i]=0;cnt++;break;}
}
for(int i=0;i<n;++i) if(a[i]) cnt++;
printf("%d\n",cnt);
}
int main()
{
while(~scanf("%d",&n))
solve();
}
17243 Huzi酱和他的俄罗斯套娃(贪心)的更多相关文章
- cdoj 1141 酱神寻宝 状压dp
酱神寻宝 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1141 Descri ...
- UESTC_酱神寻宝 2015 UESTC Training for Dynamic Programming<Problem O>
O - 酱神寻宝 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- UVA 11039-Building designing【贪心+绝对值排序】
UVA11039-Building designing Time limit: 3.000 seconds An architect wants to design a very high build ...
- GYM 101173 F.Free Figurines(贪心||并查集)
原题链接 题意:俄罗斯套娃,给出一个初始状态和终止状态,问至少需要多少步操作才能实现状态转化 贪心做法如果完全拆掉再重装,答案是p[i]和q[i]中不为0的值的个数.现在要求寻找最小步数,显然要减去一 ...
- 洛谷P5021 赛道修建 NOIp2018 贪心+二分答案
正解:贪心+LCA+二分答案 解题报告: 想先港下部分分qwq因为我部分分只拿到了10ptsQAQ(时间不够不是理由,其实还是太弱,所以要想很久,所以才时间不够QAQ m=1 找直径长度,完 一条链 ...
- 2017年浙江工业大学大学生程序设计迎新赛预赛 H - 栗酱的文明
题目描述 “伟大的勇士兔栽栗女王,所有栗子看到您都不寒而栗,但也非常尊重您.您骑着威风凛凛的小白兔,带领兔栽栗们奋勇前行.伟大史诗告诉我们,烈兔勇栗从大草原飞奔出来,冲在每场战争的前线 ...
- hdu1677 贪心
题意: 对于给出的n个俄罗斯套娃,要求将这n个套起来(满足w1 < w2 && h1 < h2才能套进去),最后输出最少剩下的套娃个数(尽可能去套起来) 题目分析: 朴素的 ...
- BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1383 Solved: 582[Submit][St ...
- HDOJ 1051. Wooden Sticks 贪心 结构体排序
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
随机推荐
- [Android Pro] Android性能优化典范第一季
reference to : http://www.cnblogs.com/hanyonglu/p/4244035.html#undefined 2015年伊始,Google发布了关于Android性 ...
- 比较 http连接 vs socket连接
http连接 :短连接,客户端,服务器三次握手建立连接,服务器响应返回信息,连接关闭,一次性的socket连接:长连接,客户端,服务器三次握手建立连接不中断(通过ip地址端口号定位进程)及时通讯,客户 ...
- 关于KVC、KVO
KVC/KVO --------------------KVC--键值编码-------------------作用:通过字符串来描述对象的属性间接修改对象的属性 Student *stu=[[Stu ...
- DB2 bind on z/os
BIND and REBIND options for packages and plans There are several options you can use for binding or ...
- PHP面向对象——异常处理
Error_reporting(0); //在网站正式上线的时候不准他报任何错误. 错误级别为不允许报错 Exception 是所有异常的基类. 测试并捕捉一个错误的例子: class mysq ...
- HTML学习之Web存储(五)
本地数据库功能大大增强了Web应用对于本地存储数据的方式和功能.Web时代真正进入了:“客户端为重,服务端为轻的时代”. <!DOCTYPE html> <html xmlns=&q ...
- 算法系列:XXX
转载自http://www.cnblogs.com/skynet/p/3372855.html 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择 ...
- c++ 的 static_cast
http://www.cnblogs.com/pigerhan/archive/2013/02/26/2933590.html #include "Person.h" #inclu ...
- HDU 3341 Lost's revenge(AC自动机+DP)
Lost's revenge Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)T ...
- barabasilab-networkScience学习笔记2-图理论
第一次接触复杂性科学是在一本叫think complexity的书上,Allen博士很好的讲述了数据结构与复杂性科学,barabasi是一个知名的复杂性网络科学家,barabasilab则是他所主导的 ...