多重背包问题是一个经典的背包问题的变体,在原有的01背包问题的基础上,物品数量不再限制为1。
在多重背包问题中,每个物品可以拿多次,所以可以用一个数组存储每个物品的数量,然后进行循环,把每个物品都看作k个01背包问题中的物品,每次的重量为w/k,价值为v/k。
代码实现上,在01背包问题的代码基础上进行一个循环即可。
多重背包问题是一个经典的背包问题的变体,在原有的01背包问题的基础上,物品数量不再限制为1。
在多重背包问题中,每个物品可以拿多次,所以可以用一个数组存储每个物品的数量,然后进行循环,把每个物品都看作k个01背包问题中的物品,每次的重量为w/k,价值为v/k。
代码实现上,在01背包问题的代码基础上进行一个循环即可。