填满背包的最小物品数

问题模型:

对于给定了背包容量,物品费用,物品间的相互关系的背包问题,除了在给定的价值后求得的最大价值外,还可以得到装满背包或将背包装到指定容量的最小物品数量。

对于这类问题,一般只需要将动态转移方程的max改为min即可

定义:

f[i][j]表示将前i件物品恰填满容量为j的背包最少需要的物品数

动态转移方程:

如果 \(j<V_i\) \(f_{[i,j]}=f_{[i-1,j]}\)
否则 \(f_{[i,j]}=min(f_{[i-1,j]},f_{[i,j-v[i]]}+1)\)

边界:

\(f_{[i,j]}=\infty,f_{[0,0]}=0\)

posted @ 2021-07-23 10:17  ICtiger  阅读(392)  评论(0)    收藏  举报