rt
转移式:设 fi 表示删除若干个元素使得当前序列的 mex 值为 i 的最小代价,转移式为 fi=min{fj+j×(cnti−1)+i},cnti 表示满足 aj=i 的 j 的个数。
考虑对这个式子进行优化:
当 cnti≤cntj,i<j 时,删掉 i 显然比删掉 j 更优,此时 fj 这一状态显然不需要维护,而这一类位置可以用栈维护。将 0 到 k 依次试着加入栈,若此时的 i 满足 cnti<cnttop 则入栈,容易发现栈内元素个数是 O(n) 级别的,在栈上跑上述 dp 即可。
问一下这个做法保真吗 如果假了能否给一组hack/kk
反正过了CF的数据
还有就是这种做法能不能交题解啊/kk