关于背包九讲01背包中的常数优化
来源:互联网 发布:言而当知也 编辑:程序博客网 时间:2024/06/16 10:24
关于背包九讲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=
这里的max优化就是考虑了这样一种情况:
即使后面(i…n)的所有物品都被装入背包后,剩余的空间仍然比 Ci 大
我们知道空间优化后的一维数组中的状态转移方程如下 dp [v] ← max (dp [v], dp [v − C] + W )
我们是不断通过比较上一轮的dp结果进行状态转移
进一步的,如果满足优化条件
那么对于 i+1...n
的情况 这里的 v-C
将最多取值取到 key
而 key to Ci
的不会被取到也就没有计算的必要了
这个优化对V比较大是效果显著
0 0
- 关于背包九讲01背包中的常数优化
- 背包九讲——01背包(降维+常数级优化)
- 背包九讲&01背包
- 01背包的优化——读背包九讲
- 01背包问题中常数优化(背包九讲)
- 背包九讲中的公式
- 背包九讲 P01: 01背包问题
- 【背包九讲】P01: 01背包问题
- 背包九讲笔记-01背包问题
- 背包九讲-01背包问题
- 背包九讲笔记--01背包
- 背包九讲之01背包问题
- 背包九讲——01背包
- 01背包(降维 + 常数级优化)
- 背包九讲 01背包问题 02背包问题 .........
- 完全背包(背包九讲)
- 背包问题:背包九讲
- 背包九讲
- QT配置文件入门
- Nginx的优缺点
- 不使用第三方变量,交换2个变量的值
- error: L6236E: No section matches selector - no section to be FIRST/LAST.原因没有加载启动代码
- (javascript进阶) 运算符“||”和“&&”的巧妙用法
- 关于背包九讲01背包中的常数优化
- android 屏幕旋转 activity中多个fragment重叠
- PAT甲级1068
- sqlserver数据库不能重命名报错5030
- 生成RSA密钥
- 【初等概率论】 01
- 留言板v2.0(添加了一个简单登录功能php+mysql)
- SNMP
- POJ_1823 Hotel