背包问题的初始化问题
2012-09-03 17:05
267 查看
对于背包问题,有两种初始化问题。。。。
一种是恰好装满,另一种是实际上可以不装满,其中还分概率(乘)与非概率(加)
其实不管是哪种,记住一点,我们初始化是未放物品时符合条件的最优解。。。。。
例如:
1~恰好装满:f[0] = 0没放物品时价值是0,,,f[1....]不符合条件(因为要恰好装满),这些都是没装满的
那这些应该赋什么值呢?应该赋最不优的解来保证一定更新它。。。。。求最大:(求最大的时候最不优就是最小)概率(乘)f[1....] = 0(乘中0最小) 非概率(加)f[1...] = -INF(加中-INF最小)
求最小::(求最小的时候最不优就是最大)概率(乘)f[1....] = 1(乘中1最大) 非概率(加)f[1...] = INF(加中INF最大)
2~不需要装满的:非概率(加)求最大优解:memset(f, 0, sizeof(f));....................
一种是恰好装满,另一种是实际上可以不装满,其中还分概率(乘)与非概率(加)
其实不管是哪种,记住一点,我们初始化是未放物品时符合条件的最优解。。。。。
例如:
1~恰好装满:f[0] = 0没放物品时价值是0,,,f[1....]不符合条件(因为要恰好装满),这些都是没装满的
那这些应该赋什么值呢?应该赋最不优的解来保证一定更新它。。。。。求最大:(求最大的时候最不优就是最小)概率(乘)f[1....] = 0(乘中0最小) 非概率(加)f[1...] = -INF(加中-INF最小)
求最小::(求最小的时候最不优就是最大)概率(乘)f[1....] = 1(乘中1最大) 非概率(加)f[1...] = INF(加中INF最大)
2~不需要装满的:非概率(加)求最大优解:memset(f, 0, sizeof(f));....................
相关文章推荐
- 完全背包dp初始化问题
- 01背包初始化的细节问题与循环下限的改进
- 0-1背包(及初始化问题)
- python 初始化数组以及倒序遍历 以及背包问题
- hdu 1114需要装满的完全背包 重点是背包初始化的问题
- 0-1背包(及初始化问题)
- 背包问题初始化的细节
- 背包问题初始化的一点小问题
- 背包问题 初始化
- hdu1712 分组背包问题
- Codeforces Round #105 (Div. 2) E. Porcelain —— DP(背包问题)
- poj 1014 Dividing 多重背包问题
- HDU2159 FATE(二维背包问题)
- 3 0/1排序背包问题
- 背包问题和0-1背包问题
- 动态规划法—0-1背包问题(一)
- 超大背包问题
- 背包问题start...:0-1背包
- 动态规划法—0-1背包问题(二)
- 04动态规划进阶---背包问题