题目大意:给你一个序列(n<=35000),最多分不大于m块(m<=50),求每个块内不同元素的数量之和的最大值 考试的时候第一眼建图,没建出来,第二眼贪心 ,被自己hack掉了,又随手写了个dp方程,感觉可以用splay维护,发现有区间操作并可取,又发现这个方程只能用线段树维护,然后只剩40min了我没调完,而且线段树打错了...... 定义f[i][j]表示以第i个数为这个块的结尾,已经分了j块的答案的最大值 很明显,sum表示不同元素数量 对于每个元素,记录一个表示数 i 上一次出现的位…