重关专题

第八重关:泛化物品

泛化物品是一种思想:     1)考虑到这样一件物品,它并没有固定的费用和价值,但是它的价值随着你分配给它的费用而变化。     2)在背包容量为 V 的背包问题中,泛化物品是一个定义域为中的整数的函数 H,当分配给它费用为 v 时,能够的到的价值是H(v)。     3)泛化物品就是一个数组,给它一个 v,得到相应的 H 值。 题目:HDU 1712(题意非常简洁) #include<

第七重关:有依赖背包

问题描述: 已知如下条件:     N个物品     容量为V的背包     vi:第i个物品所占用的容量空间     valuei:第i个物品所获得的价值数值     但是包和包之间有依赖关系,例如,如果要是想选择A那么必须要先选择B(这里指考虑一重依赖关系,并且不会形成依赖环) 求解:     该背包可以装下的最大价值是多少? 解题思路: 开始的思路还是一样的枚举每一件物品

第六重关:分组背包

问题描述: 已知如下条件:     N个物品     容量为V的背包     vi:第i个物品所占用的容量空间     valuei:第i个物品所获得的价值数值     这些背包被分成了p个组,并且每个组里面的物品最多选择一件或者不选 求解:     该背包可以装下的最大价值是多少? 解题思路: 如果不看组内的细节的话,其实这就是一个01背包,所以第一层FOR循环,显然就是遍历