當(dāng)前位置:
首頁(yè) >
Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化
發(fā)布時(shí)間:2023/12/4
36
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
傳送門
文章目錄
- 題意:
- 思路:
題意:
思路:
我們考慮將區(qū)間內(nèi)的位置都+1+1+1,之后求區(qū)間段數(shù)就可以轉(zhuǎn)換成求,連續(xù)不為000的區(qū)間段數(shù),由于范圍有[?1e9,1e9][-1e9,1e9][?1e9,1e9]的級(jí)別,所以我們考慮將其離散化。
注意離散化之后的時(shí)候需要將區(qū)間?2?1*2-1?2?1,這樣做是為了防止[1,3][1,3][1,3]和[4,5][4,5][4,5]這段區(qū)間之后合并。
讓后我們考慮如何快速的求去掉當(dāng)前區(qū)間之后增加的段數(shù)。
我們將連續(xù)111的起點(diǎn)和終點(diǎn)都+1+1+1,之后求前綴和,當(dāng)前區(qū)間增加的段數(shù)就是pre[r]?pre[l?1]>>1pre[r]-pre[l-1]>>1pre[r]?pre[l?1]>>1,當(dāng)然這樣還不行,如果區(qū)間前后與新增段相連接的話,需要減去。
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 什么是非结核分枝杆菌肺病
- 下一篇: Educational Codeforc