AcWing 321. 棋盘分割
我开始设(f[i][j][k])表示将((1,1),(i,j))的矩形分割成(k)份的最小代价,但是这样有很多情况枚举不到,而且剩下的矩形只能是((1,1),(k,l))
我们设(f[i][j][k][l][d])表示将矩形((i,j),(k,l))分割成(d)份,(sum_{i=1}^{d} (x_i-ave)^2)的最小值.转移的话,就枚举最后分割出的完整的矩形。
Acwing 322. 消木块
神奇的状态表示:设(f[l][r][len])表示对于区间([l,r]), (l)前面还剩下(len)个与(a[l])颜色相同的木块,可以获得的最大价值。
转移:
1.将这(len + 1)个木块一块消除:(f[l][r][len] = f[l + 1][r][0] + (len + 1) ^ 2)
2.继续向右找到(a[l] = a[k],f[l][r][len] = f[l + 1][k - 1][0] + f[k][r][len+1])
初始化 :(f[l][l][len] = (len + 1) ^ 2)