【发布时间】:2015-03-19 02:43:09
【问题描述】:
正式地说,我们有 2 个容量为 c1 和 c2 的麻袋。有 N 个项目,利润为 pi,权重为 wi。与 0-1 背包问题一样,我们需要用这些项目填充 c1 和 c2,以使整体利润最大化。假设 pi 和 wi 是正整数!
对于2个背包问题,下面的递归关系成立吗?
DP[I][J][K] 是我们可以从前 i 件物品中获得的最大利润,因此在背包 #1 中使用正好 j 的重量,在背包 #2 中使用正好 k 的重量
DP[i][j][k] = max(DP[i-1][j][k], DP[i][j-1][k], DP[i][j][ k-1], DP[i][j-W[j]][k] + C[i], DP[i][j][k-W[k]] + C[i])
【问题讨论】:
-
I, J, K的索引是什么?它们与i,j,k有什么关系?DP是什么?C是什么?
标签: algorithm dynamic-programming knapsack-problem recurrence