背包问题的初始化问题

对于背包问题,有两种初始化问题。。。。

一种是恰好装满,另一种是实际上可以不装满,其中还分概率(乘)与非概率(加)

其实不管是哪种,记住一点,我们初始化是未放物品时符合条件的最优解。。。。。

例如:

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));....................

原文地址:https://www.cnblogs.com/qiufeihai/p/2669096.html