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