背包
hncu__lz
既然坚持了这么久,就要坚持到最后~
展开
-
hdu3732 多重背包+二进制优化
题意:n件物品,背包大小为C,每件物品有一定的价值和体积,求背包能装的最大价值。 思路:如果用01背包做肯定超时,因为数据给得太大了,我们可以根据价值和体积来区分物品,相当于背包空间和含有的价值 有多个,多重背包,然后用二进制优化,再用01背包来做; 代码:#include<stdio.h>#include<string.h>#include<stdio.h>#define max(x,y原创 2016-03-20 02:42:03 · 771 阅读 · 0 评论 -
poj 2392 Space Elevator (多重背包)
DescriptionThe cows are going to space! They plan to achieve orbit by building a sort of space elevator: a giant tower of blocks. They have K (1 <= K <= 400) different types of blocks with which t原创 2017-02-23 20:34:00 · 215 阅读 · 0 评论 -
poj 1276 Cash Machine (多重背包)
DescriptionA Bank plans to install a machine for cash withdrawal. The machine is able to deliver appropriate @ bills for a requested cash amount. The machine uses exactly N distinct bill denominat原创 2017-02-23 12:03:57 · 194 阅读 · 0 评论 -
hdu 3466 Proud Merchants (01背包)
Problem DescriptionRecently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful kingdom in the world. As a result, the people in this country are still ver原创 2017-02-23 10:44:03 · 236 阅读 · 0 评论 -
poj 2923 Relocation (01背包+状态压缩)
DescriptionEmma and Eric are moving to their new house they bought after returning from their honeymoon. Fortunately, they have a few friends helping them relocate. To move the furniture, they onl原创 2017-02-21 21:30:08 · 261 阅读 · 0 评论 -
hdu2639 Bone Collector II (01背包第k大解)
Problem DescriptionThe title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup" competition,you must have seem this title.If you haven't seen it before,it doesn't m原创 2017-02-20 21:31:43 · 319 阅读 · 0 评论 -
poj 2184 Cow Exhibition (01背包)
Description"Fat and docile, big and dumb, they look so stupid, they aren't much fun..." - Cows with Guns by Dana Lyons The cows want to prove to the public that they are both smart and fun原创 2017-02-11 00:28:17 · 217 阅读 · 0 评论 -
hdu 1963 Investment (完全背包)
Problem DescriptionJohn never knew he had a grand-uncle, until he received the notary’s letter. He learned that his late grand-uncle had gathered a lot of money, somewhere in South-America, and th原创 2017-02-06 22:19:50 · 237 阅读 · 0 评论 -
分组背包
问题有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。算法这个问题变成了每组物品有若干种策略:是选择本组的某一件,还是一件都不选。也就是说设f[k][v]表示前k组物品花费费用v能取得的最大权值,则有:f[k][v]=max转载 2017-02-06 19:35:59 · 222 阅读 · 0 评论 -
hdu 4341 Gold miner (分组背包)
Problem DescriptionHomelesser likes playing Gold miners in class. He has to pay much attention to the teacher to avoid being noticed. So he always lose the game. After losing many times, he wants原创 2017-02-06 19:34:29 · 289 阅读 · 0 评论 -
hdu 2546 (完全背包)
Problem Description电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 In原创 2016-08-21 16:23:45 · 282 阅读 · 0 评论 -
hdu3591 01背包+多重背包+二进制优化
题意:货币系统有 N 种不同面值的钱,每种钱的价值分别为 V1,V2,…,VN 一个人要买价值和为 T 的商品,他每种分别相应的带了 C1,C2,…,CN ,然后问你交易完成后拿出的硬币和找回的硬币数和最小;原创 2016-03-20 17:19:31 · 483 阅读 · 0 评论 -
dhu4508(完全背包)
#include<stdio.h>#include<string.h>#define max(x,y) (x>y?x:y)int main(){ int n; while(~scanf("%d",&n)) { int i,j,k; int dp[10001]; int a[10001],b[10001];原创 2016-03-12 22:15:56 · 245 阅读 · 0 评论 -
hdu2159 二维数组多重背包
用二位数组dp记录用多少忍耐度杀多少只怪可以获得最大的经验 代码:#include<stdio.h>#include<string.h>#define max(x,y) (x>y?x:y)int a[101],b[101];int main(){ int n,m,k,s; while(~scanf("%d%d%d%d",&n,&m,&k,&s)) {原创 2016-03-15 21:28:25 · 496 阅读 · 0 评论 -
hdu2955 01背包
题意:一个强盗要去抢劫银行,对于每个银行来说,都有一个不被抓的概率p,和能抢劫到的钱数money,每个银行最多只可以被抢劫一次。问在不被抓的总概率P下,怎样得到最大价值的钱数; 思路:最大的难点是因为存在小数,思路要转换,可以将所用银行里的钱看作背包容量,每一家银行的钱看作重量, 代码:#include<stdio.h>#include<string.h>int a[10001];doub原创 2016-03-15 23:06:03 · 319 阅读 · 0 评论 -
hdu2844 完全背包+多重背包(经典)
题意:给你一些不同价值和一定数量的硬币,求用这些硬币可以组合成价值在[1 , m]之间的有多少; 思路:由于考虑时间,所以需要用二进制优化;#include<stdio.h>#include<string.h>#define max(x,y) (x>y?x:y)int a[101],b[101],dp[100001];int main(){ int n,m; while(原创 2016-03-16 22:05:52 · 425 阅读 · 0 评论 -
hdu1864 (01背包)
注意事项: 1.数组至少要开到3000050; 2.是单类物品不能超过600元,不是单项,如A:310 A:320,那A类物品为630元,不符合要求,不能报销; 3.用scanf()读入的话,要先读掉类型字符前的一个空格。 代码:#include<stdio.h>#include<string.h>#define max(x,y) (x>y?x:y)int main(){ d原创 2016-03-18 16:13:14 · 426 阅读 · 0 评论 -
poj 1787
DescriptionCharlie is a driver of Advanced Cargo Movement, Ltd. Charlie drives a lot and so he often buys coffee at coffee vending machines at motorests. Charlie hates change. That is basically th原创 2017-02-24 21:52:36 · 215 阅读 · 0 评论