01背包问题的理解,java代码实现,算法初学者必看
01背包问题
1.1 题目
有n件物品和一个容量为v的背包,放入第i件物品耗费的空间是Ci,得到的价值是Wi。
求解将哪些物品装入背包可以使价值总和最大
1.2 思路
用子问题定义状态:即F[i,v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。
则其状态转移方程便是:
即将前i件物品放入容量为v的背包中这个子问题,若只考虑第i件物品的策略(放或不放),
那么就可以转化为一个只和前i − 1件物品相关的问题。
如果不放第i件物品,那么问题就转化为“前 i−1件物品放入容量为v的背包中”,价
原创
2020-09-09 20:38:09 ·
325 阅读 ·
0 评论