随笔分类 -  动态规划 - 环形dp

摘要:题目大意:给定一个由 N 个点组成的环,点有点权,现从中选出 M 个点,对于顺时针方向来说,每一段被选取的第一个点的点权不计入答案贡献,求选出的最大权值是多少。 题解:首先考虑线性的情况,设 $dp[i][j][0/1]$ 表示前 i 个点选择了 j 个点,且第 i 个点是否被选择的最优解。既然是线 阅读全文
posted @ 2019-03-09 20:44 shellpicker 阅读(155) 评论(0) 推荐(0)
摘要:这道题是典型的环形石子归并模型,破环成链后时间复杂度为$O(n^3)$ 不过,因为题目中所给的数字可能是负数,仅仅记录区间内合并之后的最大值并不满足动态规划的最优子结构性质。因此,还需要额外记录下区间合并后的最小值,由最小值和最大值即可组合出整个区间的最大值。 代码如下: cpp include i 阅读全文
posted @ 2018-10-22 16:13 shellpicker 阅读(156) 评论(0) 推荐(0)