
背包
CCSUZB
吾生也有涯,而知也无涯
展开
-
从背包问题看动态规划
从背包问题看动态规划我们不从枯燥难懂的理论知识讲起,首先先让我们看第一个问题:有 N 件物品和一个体积为 V 的背包。放入第 i 件物品耗费的体积是 Ci ,得到的价值是 Wi。求将哪些物品装入背包可使价值总和最大?这是一个最简单的**【01】背包问题**,一眨眼看到这个问题时,我们可能会想到这样的一种解法,题目中不是要求我们求价值总和最大吗?那我们先把所有物品按价值进行排序,然后从价值最大物品开始放入背包,再依次拿次价值物品放入背包,直到背包中不能放入物品为止时就结束放置,这时候放入背包中的所有原创 2020-11-12 22:59:52 · 199 阅读 · 0 评论 -
HDU6092
题目链接给出B数组,B数组的下标i代表A数组中的子集和(存在空集,代表0),然后B[i]代表A数组中子集和为i的有多少个 类似背包这里给出了B数组,要你反向求数组A,思路是B数组中从下标1开始第一个非零的数的下标i肯定是A数组中的第一个元素 然后开始反向背包 从B数组中依次去掉A数组中的元素 例如样例:B:[1,1,1,1] 代表A中子集和为0的有1个 子集和为1的有1个 子集和为2的有1个 子原创 2017-08-09 10:36:24 · 385 阅读 · 0 评论