书法字典:https://www.shufadict.com

DP_knapsack

动态规划法解0-1背包问题

问题描述:

有n个背包,重量依次为w1,w2, ... ,wn, 价值依次是v1,v2, ... ,vn, 现在有一个大背包,其容量是capacity,往其中装小背包,要求得到的总价值最大,如何装?

用value[i, w]表示有i个背包且总重量最大是w时的价值,那么当考虑第i个背包时,有两种情况

1. 将此背包装入大包,价值是 v[i] + value[i - 1, w- wi]

2. 此背包不装入打包,价值是 value[i - 1, w]

取两者中的最大值即可

代码如下:

 

Code

 

posted on 2009-06-23 16:55  翰墨小生  阅读(544)  评论(0编辑  收藏  举报

导航

书法字典:https://www.shufadict.com