完全背包问题
一共有n种价值和重量为 v i , w i v_i,w_i vi,wi的物品,如果我们的背包最大能放V的重量,那么如何才能取价值最大呢?
这种问题规模,可以用两种维度的变量控制,
比如
种类和体积
前i种体积为v的最大重量dp[i][v]
另一种思路
种类和质量
前i种,质量为w,最少体积dp[i][w]
讨论第一种控制方法
显然 d p [ i ] [ v ] = m a x k ( d p [ i ] [ v − k ∗ v i ] ) + k ∗ w i dp[i][v]=max_k(dp[i][v-k*v_i])+k*w_i dp[i][v]=maxk(dp[i][v−k∗v