![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
区间dp
CaprYang
这个作者很懒,什么都没留下…
展开
-
Brackets POJ - 2955 区间dp
题解 题目大意 给一行括号进行配对 问这行括号的最大配对数量 (()也算是有一对匹配成功 使用区间dp求解 d[i][j]表示从i到j范围内的括号配对数量 按照一般套路枚举区间长度和区间起点 再枚举区间中点取最大值合并两个区间 当d[i][j]的最外层括号s[i]与s[j]配对则通过内层+2转移过来 即 d[i][j] = max(d[i][j], d[i + 1][j - 1] + 2) 不用担...原创 2018-12-22 22:37:43 · 257 阅读 · 0 评论 -
Multiplication Puzzle POJ - 1651 区间dp
题解 题目大意 给你N张卡牌 每次抽出一张 抽出的这张代价为这张的值*左侧的值*右侧的值 问将将卡牌抽的只剩2张的最小代价 使用区间dp求解 d[i][j]表示i到j列卡牌抽的剩2张的最小代价 按照一般套路 枚举区间长度枚举区间起点 再枚举区间间断点k范围[起点+1, 终点-1] 通过中断点进行转移 转移代价为两侧区间代价和+中断点值*左侧区间的左端点值*右侧区间的右端点值 即 d[i][j] =...原创 2018-12-22 23:52:57 · 425 阅读 · 0 评论 -
Halloween Costumes LightOJ - 1422 区间dp
题解 题目大意 一个人参加舞会 第i个舞会需要穿着a[i]颜色的衣服 他可以同时穿着多件衣服到时候再脱掉 但是脱掉的衣服不能在穿上 问最少需要多少衣服 使用区间dp求解 d[i][j]表示从i到j区间的舞会需要的最少衣服数量 考虑 单独一个舞会需要的数量为1 如果一个区间d[i][j] a[i]==a[j]也就是第一场舞会的和最后一场的衣服一样则d[i][j]一定等于d[i][j - 1]因为最后...原创 2018-12-23 15:10:09 · 535 阅读 · 0 评论 -
Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) D. Recovering BST 区间dp
题解 题目大意 给你n个升序排列的数值 让你建立二叉排序树要求连线的节点间gcd>1 问是否能建立成功 由于是二叉排序树 中序遍历正好是题目所给的升序排列 所以可以划分为若干区间使用区间dp求解 l[i][j]表示区间i到j的元素可以作为节点j+1的左子树 r[i][j]表示区间i到j的元素可以作为节点i-1的右子树 状态转移时枚举区间中点从i到j 如果当前中点可以将区间划分为i ~ m-1...原创 2019-01-19 19:10:07 · 236 阅读 · 0 评论 -
String painter HDU - 2476 区间dp
题解 题目大意,给ab两个串,每次可以花费1代价将某一段改为一同种字符,问将a改为b的最小代价 先考虑一个空的串变成b的最小次数,再利用a和b相同的单个位置为0合并区间,枚举区间长度枚举区间起点 如果当前区间左右端点相同则次数等于左边少一格或右边少一格的区间次数即d[i][j]=min(d[i][j], d[i + 1][j], d[i][j - 1]) 如果左侧或者右侧连着两个相同则次数等于左侧...原创 2019-02-17 19:22:44 · 334 阅读 · 0 评论 -
You Are the One HDU - 4283 区间dp
题解 题目大意,一队人排队上台表演,每个人有个值a[i],他第k个上场就会有a[i]*(k-1)的不愉快度,现在有个栈可以调整上台顺序,对于每个人可以选择进栈或者直接上台,在栈中的人可以随时上台,问不愉快度的最小总和 区间dp求解,d[i][j]表示区间[i, j]第i个前面没有人的情况下的最小代价,也就是只有区间[i, j]这些人任意安排顺序上场的最小代价 对于每个区间考虑将第一个人进栈,等后面...原创 2019-02-17 19:39:56 · 682 阅读 · 0 评论 -
Codeforces Round #538 (Div. 2) D. Flood Fill 区间dp
题解 题目大意 给你一个颜色序列 每次可以把一段连续相同的颜色改为其它颜色 问最少多少次操作能把一个序列改成同一个颜色 首先考虑,如果初始状态一段连续的颜色相同则可以把他压缩成一个颜色而不影响结果 区间dp求解 令d[i][j]表示区间[i, j]范围内变成同一个颜色所需要的最少次数,初始状态的每个颜色肯定为0即d[i][i] = 0 枚举区间长度,枚举区间左端点,如果当前区间左右端点颜色相同则可...原创 2019-02-11 21:10:03 · 372 阅读 · 0 评论 -
郑州轻工业大学“CCPC2019-河南省赛”选拔赛(2) 部分题解
题目链接 A 火柴棒等式 <暴力> #include <stdio.h> #include <bits/stdc++.h> #define fst first #define sed second using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const ll L...原创 2019-04-18 21:21:24 · 936 阅读 · 0 评论