概念
对于一个序列A: [0, 1, 2, 3, 4, 5, 6]
A这个序列的答案,是由k个 连续的子段 所决定
比如,答案对应的k个子段是: [0,1,2] [3] [4,5,6]
时间是: O(n^3)
dp[n][k]: 前n个元素,分成k个组
FOR(i, 0, n-1, 1){
// 边界处理
dp[i][1] = 'A[0,...i]作为单独一个子段的 解';
}
FOR(i, 1, n-1, 1){
// 表示当前处理的是[0,..,i]这个区间
FORR(j, i, 1, 1){
// 表示[0,..,i]这个区间,最后一个子段是[j,..,i]
FOR(z, 1, k - 1, 1){
// 枚举,前面[0,..,j-1]分了几个组
use (dp