动态规划算法求解0-1背包问题
来源:互联网 发布:王俊凯人品知乎 编辑:程序博客网 时间:2024/06/09 11:21
在使用动态规划算法求解0-1背包问题时,有两个关键的式子:
1)j<wi,m(i,j)=m(i-1,j)
2)j>=wi,m(i,j)=max{m(i,j),m(i-1,j-wi)+vi}
其中,m(i,j)表示当前背包剩余容量j,前i个物品最佳组合对应的价值。wi表示物品i的体积,vi表示物品i的价值。
对于动态规划,我们知道后一个状态的决策是根据前面状态来决定的。而该式子所要到达的目的是通过前面i-1的物品的状态来决定第i的物品的操作。最后的结果是背包的容量剩余j,即m(i,j)。此时,若j<wi,物品放不进去,很明显前面的状态应该是m(i-1,j)。而当j>=wi时,选择物品不放进入,可以知道前一个状态应该是m(i-1,j)。若选择放入,可以计算出上一个状态应该是m(i-1,j-wi),此时放入体积是wi,价值是vi的物品,才会到达m(i,j)状态。
阅读全文
1 0
- 动态规划算法求解0,1背包问题
- 动态规划算法求解0-1背包问题
- 0-1背包问题,动态规划求解
- 动态规划求解0-1背包问题
- 0/1背包问题-----动态规划求解
- 动态规划求解0-1背包问题
- 算法导论第16章 贪心算法-0-1背包问题—动态规划求解
- 动态规划法求解简单的(0/1)背包问题
- 用动态规划求解0-1背包问题
- 0/1背包问题(动态规划求解)
- 0/1背包问题的动态规划求解
- 用动态规划求解0-1背包问题
- Java 动态规划求解0-1背包问题
- 0-1背包问题的动态规划求解
- 动态规划法——求解0-1背包问题
- 动态规划法——求解0-1背包问题
- 0——1背包问题动态规划求解
- 0-1背包问题动态规划算法
- java stringbuffer stringbuilder
- ZBUS = MQ + RPC
- SpringMVC_@RequestBody
- CustomValidator
- Codeforces Round #436 (Div. 2)E.Fire
- 动态规划算法求解0-1背包问题
- android中判断包含某class,so文件
- Chrlea基本功能点总结
- 位操作
- javascript的格式匹配认证
- Photon_PhotonServer的启动及项目的启动_010
- git 基础以及常见错误
- 2017年的数学建模比赛已经结束了
- 4替换空格python