【糊题】CCPC2023桂林站 I题 Barkley II

题意

给你一个序列,选择一个区间使得区间颜色数(不同数字数) − 区间 mex 最大。

题解

我们考虑枚举 \(mex\),对于一个\(mex = x\) , 只要不用\(x\),其他数字尽可能多的用就可以了,那么我们考虑序列中出现的所有\(x\), 对于两个相邻的\(x\)中间的区间, 我们只要统计颜色数然后更新答案就行,我们考虑一颗可持久化的线段树, 我们把当前这个\(x\)之前的每一个颜色的贡献,大小为1, 算到这个颜色最右边的出现位置,然后对这个区间求和就是它的颜色数了。

posted @ 2024-08-01 15:43  ltdJcoder  阅读(62)  评论(0编辑  收藏  举报