石子合并,入门区间dp 1 #include <cstdio> 2 #include <cstring> 3 #define maxn 305 4 #define min(a, b) a < b ? a : b 5 6 int n; 7 int sum[maxn]; 8 int f[maxn][ma ...
分类:
其他好文 时间:
2019-02-04 14:06:20
阅读次数:
173
区间dp+四边形优化 "luogu:p2858" 题意 给出一列数 $v_i$,每天只能取两端的数,第 j 天取数价值为$v_i \times j$,最大价值?? 转移方程 dp[i][j] :n天卖掉i..j货物的收益 注意理解 代码 递推形式 cpp include using namespac ...
分类:
其他好文 时间:
2019-02-04 01:01:52
阅读次数:
202
题意:给定序列,问能否将其构成一颗BST,使得所有gcd(x, fa[x]) > 1 解:看起来是区间DP但是普通的f[l][r]表示不了根,f[l][r][root]又是n4的会超时,怎么办? 看了题解发现惊为天人...... f_l[l][r]表示[l, r]能否构成l-1的右子树,f_r[l] ...
分类:
其他好文 时间:
2019-02-03 22:09:43
阅读次数:
145
比赛的时候又被垃圾题艹翻了啊。 这个题显然是区间dp 考虑怎么转移。 类似消除方块和ZYB玩字符串那样的一个DP。 可以从左到右依次考虑消除。 dp[l][r][k][flag]表示区间l,r左边粘着k个flag。 转移方式: 1.考虑强行去继续黏上下一个字符并使k+1。 2.考虑把一段跳过去,让被 ...
分类:
其他好文 时间:
2019-02-03 00:47:44
阅读次数:
214
题意:给你一个颜色块序列,每次你可以删除一些相同颜色并且相邻的颜色块,并获得删除数目平方的收益,现在给你一个颜色块序列,问收益最大是多少? 思路:首先我们把每个本来相邻且颜色相同的块合并成一个大块。我们可以分区间处理,然后尝试合并区间。然而我们发现这非常的困难,因为再加入一个新的颜色块之后,获得子区 ...
分类:
其他好文 时间:
2019-01-30 23:09:20
阅读次数:
162
题面 思路:分析公式,我们可以发现平均值那一项和我们怎么分的具体方案无关,影响答案的是每个矩阵的矩阵和的平方,由于数据很小,我们可以预处理出每个矩阵的和的平方,执行状态转移。 设dp[l1][r1][l2][r2][k]是矩阵l1,r1,l2,r2切割k次的最小值,我们可以枚举是横着切还是竖着切执行 ...
分类:
其他好文 时间:
2019-01-30 21:40:58
阅读次数:
141
layout: post title: 「kuangbin带你飞」专题二十二 区间DP author: "luowentaoaa" catalog: true tags: kuangbin 区间DP 动态规划 传送门 B. "LightOJ 1422" "Halloween Costumes" 题意 ...
分类:
其他好文 时间:
2019-01-29 01:15:34
阅读次数:
185
题面: $solution:$ 又是一道$DP$的好题啊!状态并不明显,需要仔细分析,而且还结合了栈的特性! 做这一类题,只要出题人有点理想,一定会在栈的性质上做点文章,所以我们尽量围绕栈的性质设置$DP$状态。可是栈又有什么性质呢?讲真,考场我是真没想到,好像压根就不知道有这个特性: 对于队列里$ ...
分类:
编程语言 时间:
2019-01-28 20:11:29
阅读次数:
192
/* 区间dp,为什么要升维? 因为若用dp[l][r]表示消去dp[l][r]的最大的分,那么显然状态转移方程dp[l][r]=max{dp[l+1][k-1]+(len[l]+len[k])^2+len[k+1][r]} 可是这样是直接消去l和k两个快的,有一种情况是在k.r两个块之间还有个同色... ...
分类:
其他好文 时间:
2019-01-28 01:11:59
阅读次数:
196
E - Vasya and Binary String 思路:区间dp + 记忆化搜索 转移方程看上一篇博客。 代码: ...
分类:
其他好文 时间:
2019-01-27 19:07:10
阅读次数:
348