题目描述:给定n种物品和一个背包。物品 i 的重量是 Wi,其价值是 Vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?
在选择装入背包的物品时,对每种物品 i 只有两种选择,即装入背包或不装入背包。不能将物品装入背包多次,也不能只装入部分的物品,因此称之为0-1背包问题。
(无后效性的一种性质)
状态表示与递推方程。如下图所示。
达到的最大价值应该由二维数组Val的值来计算。可以手动先计算一下二维数组的值,在编程实现。