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

ltdJcoder發表於2024-08-01

題意

給你一個序列,選擇一個區間使得區間顏色數(不同數字數) − 區間 mex 最大。

題解

我們考慮列舉 \(mex\),對於一個\(mex = x\) , 只要不用\(x\),其他數字儘可能多的用就可以了,那麼我們考慮序列中出現的所有\(x\), 對於兩個相鄰的\(x\)中間的區間, 我們只要統計顏色數然後更新答案就行,我們考慮一顆可持久化的線段樹, 我們把當前這個\(x\)之前的每一個顏色的貢獻,大小為1, 算到這個顏色最右邊的出現位置,然後對這個區間求和就是它的顏色數了。

相關文章