摘要:
背包变形。与普通的背包问题不同的是:允许有两个物品可以花费减半。 因此加一维即可,dp[i][j][k]表示前i个物品,有j个花费减半了,总花费为k的情况下的最优解。 阅读全文
posted @ 2016-08-07 21:24
Fighting_Heart
阅读(205)
评论(0)
推荐(0)
摘要:
背包变形。 将操作分为了两类,可以分开处理。 可以dp处理出L[i]:L[i]=-1代表从左到右 i 长度不能被拼凑出来,L[i]!=-1表示从左到右 i 长度能被拼凑出,并且最小费用为L[i]。 反着来一次dp就可以处理出R[i]:R[i]=-1代表从右到左 n+1-i 长度不能被拼凑出来,R[i 阅读全文
posted @ 2016-08-07 21:21
Fighting_Heart
阅读(158)
评论(0)
推荐(0)
摘要:
背包变形。dp[i][j][g][h]表示前i个数字,和为j,有g个必选,有h个必不选的方案数。 答案为sum{dp[n][j][2][2]}*4 阅读全文
posted @ 2016-08-07 21:17
Fighting_Heart
阅读(186)
评论(0)
推荐(0)
摘要:
将大于等于m的数改为1,其余的改为0。问题转变成了有多少个区间的区间和>=k。可以枚举起点,二分第一个终点 或者尺取法。 阅读全文
posted @ 2016-08-07 21:15
Fighting_Heart
阅读(158)
评论(0)
推荐(0)
摘要:
处理出每个位置左边的最大值和右边的最大值。然后就可以o(1)计算去掉某位置的最大值了。 阅读全文
posted @ 2016-08-07 21:13
Fighting_Heart
阅读(163)
评论(0)
推荐(0)
摘要:
只需和总和比较即可。 阅读全文
posted @ 2016-08-07 21:12
Fighting_Heart
阅读(141)
评论(0)
推荐(0)

浙公网安备 33010602011771号