摘要:
[问题]给定n种物品和1个背包,背包允许的最大重量为Capacity。物品i的重量为weight[i],价值为value[i]。问应当选择哪些物品装入背包,使背包中的物品的总价值最大?[解析]因为每种物品只有装入背包或不装入背包两种选择,所以该问题称为0-1背包问题。方法1.动态规划法按照从1到n的顺序来依次决定每种物品是否装入背包中。设轮到决定物品i时背包的剩余容量为C,此时利用从i开始的所有剩余物品和背包的剩余容量可以得到的最大价值为f(i,C),则(1)若选择将物品i装入背包,则所得的最大价值为f(i+1,C-weight[i])+value[i](2)若选择将物品i不装入背包,则... 阅读全文