摘要:
题意:最少需要多少个拦截系统才能将所有的导弹拦截下来。思路:第1枚导弹一定需要第一个拦截系统,第2枚导弹如果比第1个高度高,则需要第二个拦截系统。考虑第i枚导弹,如果前i-1枚导弹的高度都比它小,则需要新的一个拦截系统,否则一定只需要之前的某个拦截系统,不需要新开一个拦截系统。原因是:假设最优方案中... 阅读全文
posted @ 2015-01-23 23:14
fish7
阅读(122)
评论(0)
推荐(0)
摘要:
题意:都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径... 阅读全文
posted @ 2015-01-23 22:01
fish7
阅读(128)
评论(0)
推荐(0)
摘要:
题意:杭电搬迁,有N种设备,每种设备有个价值V,数量M,要求将这些设备平分,使得平分后两边的总价值尽可能地相等。输出两边各自的总价值。思路:背包DP后,P=所有的总价值/2,然后从P开始往两边找到第一个满足的价值。可以降维,但是要注意for循环的顺序。看代码。代码:int v[55], m[55];... 阅读全文
posted @ 2015-01-23 21:45
fish7
阅读(144)
评论(0)
推荐(0)
摘要:
题意:N(不超过30)种木块,每种木块有长、宽、高x,y,z。木块A可以搭在木块B上当且仅当A的底面长和宽都分别小于B的顶面的长与宽,即不能有超出B的部分。问垒起来的“木块塔”的最大高度。思路:每种木块有6种形态,所以总共有6*N种木块,列张二维关系表,然后记忆搜。代码:struct node{ ... 阅读全文
posted @ 2015-01-23 21:33
fish7
阅读(152)
评论(0)
推荐(0)
摘要:
题意:有N元经费,M种大米,每种大米有单袋价格p元,单袋重量h,以及对应袋数c。问最多可以买多重的大米。思路:经典多重背包,用二进制的方法。看代码代码:struct node{ int price,weight,num;}obj[105];int dp[105];int n,m;void Mu... 阅读全文
posted @ 2015-01-23 21:14
fish7
阅读(114)
评论(0)
推荐(0)
浙公网安备 33010602011771号