二维数组V(i,j):前 i 个物品,背包容量 j,所能取得的最大价值
1) j<w(i) V(i,j)=V(i-1,j) //如果当前容量小于第i个物品的重量,则不会装入此物品,故而最大价值仍然为V(i-1,j)
2) j>=w(i) V(i,j)=max{ V(i-1,j),V(i-1,j-w(i))+v(i) }//表示装入物品,但同时需要预留w[i]空间,才可装入当前物品,但是装入不一定价值最大,所以需要比较
详细参考:https://www.cnblogs.com/Christal-R/p/Dynamic_programming.html
原文:https://www.cnblogs.com/AntonioSu/p/11749121.html