CodeForces

题解:

线段树经典应用

首先暴力$f[i][j]$表示考虑前i位分成j段的最大值

转移$f[k][j-1]+cost(k+1,i)$枚举k转移

不同数的经典套路就是从它到它前驱这一段

于是维护每个数前驱然后线段树区间+1区间查询最大值就可以了

原文地址:https://www.cnblogs.com/yinwuxiao/p/10100265.html