分组背包没有泛化之前也是比较简单的一种背包;这里先说明一下;
将不同的物品分为几组,每组的物品中只能抽取出一种放入背包中,求最优的方法;
这里,由于每组只能放入一种,那么就可以将每一组看成一个01背包中的物品,只是在每一组选择物品的时候要多一组循环比较就好了。。。
for(i=1....n)
for(j=w...0)
for(k=1...t[i])
dp[j]=max{dp[j],dp[j-w[i]]+a[i]};
分组背包没有泛化之前也是比较简单的一种背包;这里先说明一下;
将不同的物品分为几组,每组的物品中只能抽取出一种放入背包中,求最优的方法;
这里,由于每组只能放入一种,那么就可以将每一组看成一个01背包中的物品,只是在每一组选择物品的时候要多一组循环比较就好了。。。
for(i=1....n)
for(j=w...0)
for(k=1...t[i])
dp[j]=max{dp[j],dp[j-w[i]]+a[i]};