【多重背包】

来源:互联网 发布:python http上传文件 编辑:程序博客网 时间:2024/05/18 05:01

多重背包问题就是对每一个物品可以使用的数目进行了限制,不在是01背包的放或者不放,也不是完全背包的可以放无限个。

汇总之前分析过的01背包,完全背包,多重背包问题。

01背包。

ZeroPack(cost, value)

for i = 1... n  (总共n个物品)

    for j = C...0  (可以承受的背包重量,逆序)

        f[j]  = max{f[j] , f[j- cost[i]] + value[i]};


完全背包。

CompletePack(cost ,value)

for i = 1...n(总共n个物品)

       for j = 0...C(可以承受的背包重量,顺序,可以去无限多次)

               f[j]  = max{f[j] , f[j- cost[i]] + value[i]};

0 0
原创粉丝点击