一、题目
二、解法
首先明确如果确定了划分点之后,答案和划分顺序没有关系,你可以考虑每一个块的贡献,就是这个块的权值和乘上后面的权值和,显然和顺序无关。
设 d p [ i ] [ j ] dp[i][j] dp[i][j]为划分到 i i i,划分了 j j j个段,转移直接滚动:
d p [ i ] [ j ] = d p [ k ] [ j − 1 ] + ( s [ n ] − s [ i ] ) × ( s [ i ] − s [ k ] ) dp[i][j]=dp[k][j-1]+(s[n]-s[i])\times (s[i]-s[k]) dp[i][j]=dp[k][j−1]+(s[n]−s[i])×(s[i]−s[k])其中 s s s是前缀和数组,我们考虑两个决策点 j , k j,k j,