您的位置:首页 > 其它

完全背包问题

2017-03-28 23:19 162 查看

这里相比0 - 1背包,不同的是每种物品的个数上升到无限个,让你找到最优的拿法。



对于上面这个图片,在这里大家看不懂的可能是倒数第2行怎么到倒数第一行的。

对此,大家只需要看看dp[i + 1][j]的定义就可以了

dp[i + 1][j] = max{dp[i - k * w[i]] + k * v[i] | k >= 0};
= max{dp[i][j - k * w[i]] + k * v[i] | k >= 0};
dp[i + 1][j - w[i]] = max{dp[i][j - w[i] - k * w[i]] + k * v[i] | k >= 0}


由此,我们可以给出完全背包问题的代码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: