随笔分类 -  动态规划——区间dp

摘要:题目链接:https://www.acwing.com/problem/content/286/ 给定一棵树的DFS序,求这棵树可能的形状有多少种? 由于dfs序中,每条边都访问两遍,从根节点进入只有一次,所以在有n个结点的树的DFS序的长度是2*n-1。根据区间DP,可以先构造这棵树的最右侧的子树 阅读全文
posted @ 2020-07-30 16:14 WA自动机~ 阅读(166) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=1179 问题:给定一个环,其中边上是操作,有加和乘两种,点上是数值,执行的操作如下:找一条边断开,然后任选边开始将边相连的两个点进行运算后变成新的点,计算到最后变成一个点时这个点的最大值。由于合并两个区间的时候,如果操作数是加法的话容易 阅读全文
posted @ 2020-07-30 15:21 WA自动机~ 阅读(142) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1514 题意大致是:给定一个(n,m)的数值矩阵,可以在第一行建造水库,如果一个格子周围的某格子值小于它,那水就可以流到它周围的那个格子,问需要在第一行建造多少水库使得最后一行能够被完全覆盖,如果不能完全覆盖就求出不能覆 阅读全文
posted @ 2020-03-01 16:27 WA自动机~ 阅读(161) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1508 大致题意是:给定(n,m)的矩阵,m为奇数,从最小面的中间位置开始往上走,只能走到左上方、上方、右上方的位置,直到走到第一行为止,问最多能获得多少分(即路径上的值只和最大)。解决方案就是记忆化搜索,要注意边界条件 阅读全文
posted @ 2020-03-01 13:21 WA自动机~ 阅读(281) 评论(0) 推荐(0) 编辑
摘要:题目网址:https://www.luogu.com.cn/problem/P1880 题意是:给定一个序列,最小规则是相邻两个值的合并,开销是他们的和,将整个序列合并成一个值的情况下,求解该值的最小值和最大值。 代码如下: 1 #include<bits/stdc++.h> 2 using nam 阅读全文
posted @ 2020-03-01 12:27 WA自动机~ 阅读(233) 评论(0) 推荐(0) 编辑
摘要:题目网址:https://www.luogu.com.cn/problem/P1063 题意大致是:给定一个序列An,第i个元组表示为(Ai,Ai+1),序列位置不变,当合并一个区间[l,l+1]时开销是Al*Al+1*Al+2,问合并整个序列的最大开销。一看就是区间dp,顺便借助记忆化减少搜索的冗 阅读全文
posted @ 2020-03-01 11:55 WA自动机~ 阅读(251) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示