种类问题
幾乎所有種類問題都可以轉(zhuǎn)化成兩種模型之一
1.直接維護(hù)ans數(shù)組
2.統(tǒng)計二維數(shù)點(diǎn)問題
前置知識
二維靜態(tài)數(shù)點(diǎn)
以y為第一元素,x為第二元素,原點(diǎn)優(yōu)先級大于查詢點(diǎn),對所有點(diǎn)(原點(diǎn)+查詢點(diǎn)),然后求
區(qū)間最值
例題:
例題1
例題2
第一個方法:
維護(hù)ans數(shù)組,當(dāng)從L到L+1時,next[i]到next[next[L]]-1這個區(qū)間整體減一,就是查看每個數(shù)的貢獻(xiàn)是什么樣的
利用線段樹維護(hù)
第二個方法:
計數(shù)點(diǎn)為倒數(shù)第二個點(diǎn),因?yàn)轭}目要求出現(xiàn)兩次及以上
點(diǎn)i為倒數(shù)第二個點(diǎn),next[i]就是最后一個
什么點(diǎn)符合要求?
next[next[i]] > r , l <= i <= r
以i為橫坐標(biāo),next[next[i]]為縱坐標(biāo)
二維數(shù)點(diǎn)
例題3
第一個方法:
1.i到nxt[i]-1 的區(qū)間-1
2. nxt[i] 到nxt[nxt[i]]-1的區(qū)間+1
第二個方法:
例題4
只出現(xiàn)一次的電影的權(quán)值和
總結(jié)
- 上一篇: gym 102875A -- Array
- 下一篇: Educational Codeforc