【学习笔记】JU2-1 区间DP

< DP动态规划 >  区间DP:

概述:

区间 DP 是一类比较简单的 DP ,通过分区间进行 DP ,再将各个区间的贡献合并,取区间最优解,最终达到DP的效果。

区间 DP 一般适用于较为明显的合并类问题,或是需要题干中出现了分部分的内容;在一些问题中,区间 DP 可能和记忆化搜索十分相像。

实现:

从小到大枚举区间左标 l 和右标 r , 保证区间长度的由小到大,或是递归地进行求解;

对于每个区间 [ l, r ] ,枚举区间分隔点为 i ,再用 DP 的方式合并区间 [ l, r ] 的贡献。

例题:

[NOI1995] 石子合并

  模板题,但稍有不同的是要将环破为链,这里可以采用总长 N 乘 2 的方式来做,或是将下标 mod 2 来做。

  对于区间来说,这里直接按区间 DP 的套路来做就行了,注意对于每个珠子的头尾标变化。

[NOIP2006 提高组] 能量项链 :

  一道经典的区间 DP 例题,与上题基本一模一样

P4302 [SCOI2003]字符串折叠

  这道题就不那么显然了,但是关注到合并的操作与石子合并有异曲同工之妙,我们依旧可以用区间 DP 来解决。

  定义 D[i][j] 为区间 [ i, j ] 合并后串的最小值,对于每一个[ i, j ] 区间,我们依旧枚举分隔点 k 并递归地求解 [ i, k ] 和 [ k+1,  j ] 两段区间的贡献和。

  但要注意的一点是,对于每一段区间,在找到它的长度最小值之后还要看它本身能不能折叠,作为本身一个大区间,可以判定它是否能折叠,

  并对每一段折叠串 DP 求出最小值,以求出整体折叠后的最小值,并与前面的区间 DP 后的最小值比较,以求出区间最优解。

  

posted @ 2022-05-05 21:33  anjack_511  阅读(22)  评论(0编辑  收藏  举报