01背包问题动态规划应用acm1881毕业bg将必须离开的时间限制看作背包容量,先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始(背包容量)到它的延长时间进行遍历; 1 #include 2 #include 3 #include 4 using namespace std;...
分类:
其他好文 时间:
2014-07-27 22:38:39
阅读次数:
210
P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品...
分类:
其他好文 时间:
2014-07-27 21:27:35
阅读次数:
202
hdu 2660 Accepted Necklace(01-背包变形 || DFS)...
分类:
其他好文 时间:
2014-07-27 11:10:02
阅读次数:
222
Charm Bracelethttp://poj.org/problem?id=362401背包模板题带空间复杂度优化的。 1 #include 2 #include 3 #include 4 #define mt(a,b) memset(a,b,sizeof(a)) 5 using namespa...
分类:
其他好文 时间:
2014-07-27 11:05:52
阅读次数:
226
上一篇总结了三种基本的背包类型,但做题时很少让直接赤裸裸的求某一种背包。由它们延伸出来的问题可能更加重要。
但只要理解了基本的三种背包,对于更加复杂的问题的理解也不是很难。
仍然参考背包九讲的内容。
混合三种背包
将三种背包混合起来,就是说有的物品只有一件,有的物品有无限件,而有的物品有n[i]件。求把物品装入背包不超过背包容量的最大价值。
听起来很高大上,其实把它们分别...
分类:
其他好文 时间:
2014-07-26 17:15:52
阅读次数:
228
今天做数论的题目时,遇到一道多重背包的问题。好久没做过背包了,一时有点迷糊,当时理解的也不是很透彻,果断把背包九讲重新看了一遍。这里做下总结,加深自己的理解。
背包问题求的是在花费一定代价(物品的重量或体积)下,一个背包装入物品后所获得的最大价值。总的包括三种基本的背包:01背包,完全背包,多重背包。还有由这三种背包延伸出来的问题:混合背包,二维费用的背包,分组背包,背包问题问法的变化等...
分类:
其他好文 时间:
2014-07-26 15:00:21
阅读次数:
262
题目:hdu 4003 Find Metal Mineral
题意:火星上发现了一些n个矿厂,有 k 个机器人从 s 点出发采矿,给出路段间的花费cost,求最小的花费采所有的矿。
分类:树形dp + 分组背包
分析:结论1:假如我们从 i点出发k个机器人采完以 k 为根节点的所有矿又回到 i 点,那么花费为 i 为根节点的cost 的和 乘以 k。
对于每个节点...
分类:
其他好文 时间:
2014-07-26 02:15:36
阅读次数:
209
求最大价值:要求恰好装满背包,那么在初始化时除了dp[0]为0其它dp[1..V]均设为-∞
求最小价值:要求恰好装满背包,那么在初始化时除了dp[0]为0其它dp[1..V]均设为∞
代码如下:
注意下标问题
#include
int p[1008],w[1008];
int dp[10000];
int min(int a,int b)
{ret...
分类:
其他好文 时间:
2014-07-26 02:00:06
阅读次数:
169
题目要求:输入背包的容量v和物品的数量n;接下来n 行每行输入两个数字,第一个是物品质量,第二个是物品价值;输出背包容纳物品的最大价值。下面直接贴代码:回溯法 1 #include//之前必须知道背包容量和n个物品 2 #include 3 using namespace std; 4 class....
分类:
其他好文 时间:
2014-07-26 01:00:46
阅读次数:
200
cf分要高涨了。。。这题 就是个裸体啊 只要读懂题意 现在还是喜欢多做些英文的题目... touch me做这题的时候 突然发现 自己对V的遍历顺序为什么在完全背包是顺序 和在01背包是逆序懂了好多.... 1 #include 2 #include 3 using namespac...
分类:
其他好文 时间:
2014-07-25 14:26:41
阅读次数:
281