设 f[i]f[i]f[i] 表示划分前 iii 个数的最小花费,g[i]g[i]g[i] 表示在状态 f[i]f[i]f[i] 下最后一段数的和。 则 fi=min{fj+(sumi−sumj)2}(0≤j≤i−1)f_i=min\{f_j+(sum_i-sum_j)^2\}(0\le j\le i-1)fi=min{fj+(sumi−sumj)2}(0≤j≤i−1) 把min{}min\{ \}min{} 去掉,移项得到fj+sumj2=(2sumi)sumj+fi−sumi2f_j+sum_j^2=(2sum_i)sum_j+f_i-sum_i^2fj+sumj2=(2sumi)sumj+fi−sumi2。 不知道是不是蒟蒻我写挂了,写斜率优化只能过样例1...