区间DP
文章平均质量分 78
区间DP
Happig丶
我的孤独,虽败犹荣
展开
-
区间DP——最长回文子序列/子串
最长回文子序列状态转移设d[i][j]d[i][j]d[i][j]表示以iii为起点以jjj为终点的区间内的最长回文子序列长度,显然此问题类似于最大公共子序列,那么我们可以得到递推方程:若s[i]==s[j]s[i]==s[j]s[i]==s[j],那么d[i][j]=d[i+1][j−1]+2d[i][j] = d[i+1][j-1]+2d[i][j]=d[i+1][j−1]+2否则d[i][j]=max(d[i+1][j−1],d[i][j−1])d[i][j] = max(d[i+1][j原创 2021-01-10 18:18:18 · 314 阅读 · 0 评论 -
区间DP——最优矩阵链乘
问题引入给出n个矩阵组成的序列,设计一种方法将它们依次乘起来,使得总的运算量最小,假设第i个矩阵是ai-1×ai矩阵乘法满足结合律,即(A×B)×C = A×(B×C)状态转移假设计算A1×A2×…×An之前已经算出了P=A1×A2×…×Ak,Q=Ak+1×Ak+2×…×An,由于P和Q的计算过程不相干,而且无论按照怎样的顺序,P和Q的值都不会发生改变,根据dp的最优子结构特性,只需按照P和Q各自的最优方案计算即可子问题对于任何一部分,实际上需要求的是Ai×Ai+1×…×Aj的最优解,考虑使用d原创 2020-05-21 11:18:54 · 369 阅读 · 1 评论 -
区间DP——最优三角剖分
问题引入给出一个n各顶点的凸多边形,有很多种方法可以对它进行三角剖分,即用n-3条互不相交的对角线把凸多边形分成n-2个三角形。为每个三角形规定一个权函数w(i,j,k)w(i,j,k)w(i,j,k),求让所有三角形权值和最大的方案状态转移如果允许自由切割,那么多边形的顶点在原多边形中可以随意选取,很难定义成简洁的状态,无法找到递推的联系。如图选取了BCEG,这样的状态无法表示,因此我们需要将决策规范化定义d(i,j)d(i,j)d(i,j)为子多边形i,i+1,...,j−1,ji,i+1,.原创 2020-06-28 10:10:27 · 374 阅读 · 0 评论