摘要: 题意:给出n个数,把这n个数合成一个对称的集合。每个数只能合并一次。 解题关键:区间dp,dp[l][r]表示l-r区间内满足条件的最大值。vi是大于0的,所以可以直接双指针确定。 转移方程:$dp[l][r] = \min (val(r - l + 1),val(r - i + 1) + val( 阅读全文
posted @ 2017-11-08 16:55 Elpsywk 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意:中文题,不解释了 = = 解题关键:逆推,转化为数塔dp就可以了 dp[i][j]表示在i秒j位置的最大值。 转移方程:$dp[i][j] = \max (dp[i + 1][j],dp[i + 1][j - 1],dp[i + 1][j + 1])$ 阅读全文
posted @ 2017-11-08 02:38 Elpsywk 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题意:给定n个硬币,每个硬币都有面值,求每个能构成和为k的硬币组合中,任意个数相互求和的总额种类,然后将所有硬币组合中最后得到的结果输出。 解题关键:在01背包的过程中进行dp。dp[i][j]表示组成i的总额时,是否可以组成j的额度。 假如枚举到的硬币面值为t ,如果存在dp[i-t][j]=tr 阅读全文
posted @ 2017-11-08 02:12 Elpsywk 阅读(208) 评论(0) 推荐(0) 编辑