正式地说,我们有两个容量为c1和c2的麻袋。有n个项目有利润pi和权重wi。在0-1背包问题中,我们需要用这些项目填写c1和c2,以便最大化整体利润。假设pi和wi是正整数!
对于2背包问题,下面的复发关系是否保持良好?
DP [I] [J] [K]是我们可以从第一个i项目中获得的最大利润,使得在背包#1中使用精确j的重量并且在背包#2中使用正好k的重量< / p>
DP [i] [j] [k] = max(DP [i-1] [j] [k],DP [i] [j-1] [k],DP [i] [j] [ k-1],DP [i] [jW [j]] [k] + C [i],DP [i] [j] [kW [k]] + C [i])
答案 0 :(得分:0)
假设C [i]和W [i]分别是项目的值和权重。
鉴于j-W [i]> 0,k-W [i]> 0(为了便于编写公式。我们仍然可以通过添加两行来编写没有这个假设的公式),等式应该是
DP [i] [j] [k] = max(DP [i-1] [j] [k],DP [i-1] [jW [i]] [k] + C [i], DP [i-1] [j] [kW [i]] + C [i])