随笔-0  评论-0  文章-0  trackbacks-0
> 另外,可以倒着读数据,这样就不需要额外使用一个数组存放临时数据:

正向着来为什么不可以?好像也说的通吧
前面部分讲的很清楚,谢谢

多重背包特例:物品价值和体积相等(w = v)

tt = f[k] - (k / v) * w = f[k] - (k - j) = f[k] - k + j

好像没说清楚

改成

因为
F[i - 1] [b + k * d] - k * w[i]

d = w



b + k * d = k'
->
k = (k' - b)/d
->
tt = f[k'] - ( (k' - b)/ d) * w = f[k'] - (k'-b) = f[k'] - k' + b

在循环
for (int k = j, i = 0; k <= V; k += v, ++i)

里面

b其实是j, k' 其实是k

f[k'] - k' + b = f[k] - k + j
我也想要啊。麻烦你发一份给我啦。谢谢。
kaihaodir@163.com