区间DP
本文最后更新于:2024年2月12日 晚上
区间DP是线性DP的拓展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段
的那些元素合并而来
有很大的关系。令状态f(l, r)
表示将下标位置l
到r
的所有元素合并能获得的价值的最大值,那么f(l, r)=max{f(l, k)+f(k+1, r)+cost}
,cost为将这两组元素合并起来的代价。
区间DP的特点:
合并:即将两个或多个部分进行整合,当然也可以反过来。
特征:能将问题分解为能两两合并的形式。
求解:对整个问题设最优值,枚举合并点,将问题分解为左右两个部分,最后合并两个部分的最优解得到原问题的最优解。
通常区间DP问题常见的基本流程为:
- 从小到大枚举区间大小
len
- 枚举区间左端点
l
,同时根据区间大小len
和左端点计算出区间右端点r=l+len-1
- 通过状态转移方程求
f[l][r]
的值
题目:
参考:
本文作者: MerickBao
本文链接: https://merickbao.top/post/%E7%AE%97%E6%B3%95/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/%E5%8C%BA%E9%97%B4DP.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!