摘要:
传送门 解题思路 用dp[i][j]表示没有消失时前i个物品组成装满容积为j的背包的方案数。 很显然, \(dp[i][j]+=dp[i-1][j-w[i]]\) 仿照背包,i这一维可以省去,j要逆序。 然后再设f[i][j]表示去掉第i个物品时装满容积为j的方案数。 那么在dp中减去用到i这个物品 阅读全文
摘要:
传送门 解题思路 首先很显然的贪心是 在每个地方放置的士兵一定是某个敌人放置士兵的两倍加一。 这样每个地方就有s种放置方法,每种对应一个数量和一个权值,于是就成了很典型的分组背包。 AC代码 #include<iostream> #include<cstring> #include<algorith 阅读全文