algorithm-dp-split
划分型dp
对数组或者字符串进行位置划分,划分成几个子数组或者子字符串
判定能否划分
一般定义f[i]
表示长为i
的前缀a[:i]
能否划分,枚举最后一个子数组的左端点L,从f[L]
转移到f[i]
,并考虑a[L:j]
是否满足要求
计算划分最优值
定义f[i]
表示对于前缀[0:i)
所得到的最优解,枚举最后一个子数组的左端点L
,从f[L]
转移到f[i]
,并考虑子数组[L:i)
对最优解的影响
约束划分个数
定义f[i][j]
表示对于前缀[0:i)
划分成j个连续子数组所得到的最优解,枚举最后一个子数组的左端点L
,从f[L][j-1]
转移到f[i][j]
,并考虑子数组[L:i)
对最优解的影响
不相交区间
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BUGHERE の 博客!
评论