题意: 有n件物品,对应有不同的价格和价值,这是典型的01背包.但现在有了一个限制,要买物品先买能装这件物品的特定的盒子,盒子的价值为0 代码理解得还不是太好,感觉这是一个“二重”的01背包.首先假设先买第i个盒子,对每个盒子里的物品进行一次01背包:然后对盒子再进行一次01背包,决策到底要不要买这个盒子 dp[i][j]表示前i个盒子有j元钱能获得的最大价值,则所求就是dp[n][total] 因为物品对盒子有了“依赖”,所以要先对dp赋值为-1,表示买不到盒子就更不可能装物品 这篇题解写的很…