您的位置:首页 > 其它

关于背包九讲01背包中的常数优化

2017-02-08 16:06 477 查看

关于背包九讲01背包中的常数优化

for i ← 1 to N
for v ← V to Ci


优化为

for i ← 1 to N
for v ← V to max (V−key, Ci )


其中key=∑niCi

这里的max优化就是考虑了这样一种情况:

即使后面(i…n)的所有物品都被装入背包后,剩余的空间仍然比 Ci 大

我们知道空间优化后的一维数组中的状态转移方程如下

dp [v] ← max (dp [v], dp [v − C] + W )


我们是不断通过比较上一轮的dp结果进行状态转移

进一步的,如果满足优化条件

那么对于
i+1...n
的情况 这里的
v-C
将最多取值取到
key
key to Ci
的不会被取到也就没有计算的必要了

这个优化对V比较大是效果显著
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dp 优化