洛谷传送门 开始一个O(n^2)思路,每次每句要改变颜色的点,改变完颜色后重新计算颜色的段数,显然拉闸. 然后呢..然后就不会了. 看了别人博客,才知道有个叫做启发式合并的东西,就是把小的合并到大的上面,时间复杂度就将为了log级别,额,为啥呢? 反正这样就更快了. 然后对于此题 我们先求出原序列的答案 每一种颜色搞一条链把该色结点串起来,记录下链条尾结点 把一种颜色的染成另一种,很简单把它合并过去,然后处理下对于答案的影响 但是... 比如把1染成2,但是s[1]>s[2],这时我们应该将2合…