题面: 传送门:POJ Solution DP+DP 首先,我们可以很轻松地求出所有物品都要的情况下的选择方案数,一个简单的满背包DP就好 即:$f[i][j]$表示前i个物品装满容量为j的背包的方案数. 转移也很简单 $f[i][j]=f[i-1][j]+f[i-1][j-w[i]] (i:1~n,j:1~m)$ (即选和不选的问题) 初始化 $f[i][0]=1 (i:[0~n])$ (如果背包容量为0,无论如何都有且只有一种方案将其装满) 接下来,考虑用另一个dp来求解在某一物品不放下的方案数 设 $g[i]…