背包总结
背包问题通常是多种物品有多个属性,且已知条件为某属性被受限,求另一属性的最大/最小/等于/存在不存在。以0-1背包为例解释:n个物品具有的属性为重量和价值,其中总重量C将重量的属性限制住,求最大价值,即求另一属性的特征。
针对背包问题:
1、先判断属于0-1背包还是完全背包。
2、看是求最大值/最小值/等值/是否存在/排列/组合(排列/组合问题通常出现在完全背包中)。
确定了背包类型及要求的问题后,即可下手做题。
1、0-1背包
0-1背包是指物品只能使用一次,故通常其状态方程为:
d p [ i ] [ j ] = m a x ( d p [ i − 1 ] [ j ] , d p [ i − 1 ] [ j − w i ] + v i ) dp[i][j] = max(dp[i-1][j],dp[i-1][j-wi]+vi) dp[i][j]=max(dp[i−1][j],