对于背包问题,有两种初始化问题。。。。
一种是恰好装满,另一种是实际上可以不装满,其中还分概率(乘)与非概率(加)
其实不管是哪种,记住一点,我们初始化是未放物品时符合条件的最优解。。。。。
例如:
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));....................