0-1背包问题(the knapsack problem)

---恢复内容开始---

  关键原理:动态规划。

    tab[i][j] = max(tab[i-1][j-weight[i]]+value[i],tab[i-1][j]) ({i,j|0<i<=n,0<=j<=total})

    i表示放第i个物品,j表示背包所容纳的重量,那么tab[i-1][j-weight[i]]+value[i]表示放入第i物品。

流程:

 

状态转移方程:

 

posted @ 2017-07-27 12:22  pityhero  阅读(634)  评论(0编辑  收藏  举报