時限500ms
考完才發現,很裸的二維樹狀陣列也能過
可以畫圖發現,能滿足兩條線相交,只有兩種情況 :
1.大的比大的大,小的在中間(9比7大,2在1和7中間)
2.小的比小的小,大的在中間(或者說1比2小,7在2和9中間)
還有各種修改操作,第乙個想到的就是樹狀陣列,線段樹之類的。
而二維樹狀陣列維護的就是動態二維字首和,根據我們推出來的結論,超適合做此題。
設x看下面此圖,紅色和藍色矩形中的權值,就是我們要求的。根據上面兩句話推出來的。
NOIP模擬 行星通道計畫(二維樹狀陣列)
考慮樹狀陣列維護狀態,然後。就沒有然後了。沒想出來二維如何統計。感覺正解很毒瘤啊,各種壓位操作。所以正常打個二維樹狀陣列還是能過啊。考慮兩個連線點x,y,如果以後有兩個點x y 經過他,那麼一定滿足xusing namespace std const int maxn 1e3 10 const in...
NOIP 校內模擬 行星通道計畫(二維樹狀陣列)
兩個管道相交是啥情況?有環展鏈 我們把環展成鏈過後 發現只會出現如下圖兩種情況 然後我們維護二維bit1 表示左端點小於等於x 右端點小於等於y的個數 bit2 左端點大於等於x 右端點小於等於y bit3 左端點大於等於x 右端點大於等於y 查詢就很簡單了 對於操作1相當於乙個更新 include...
NOIP模擬 行走
我有個願望,我希望走到你身邊。這是個奇異的世界,世界上的n 1條路聯結起來形成一棵樹,每條路有乙個對應的權值ci。現在我會給出q組詢問或操作。每次詢問我會從乙個x點走到y點,初始在x點我會有乙個數字v,然後每走過一條權值為c的邊,我的v就會變成v c 向下取整 問最後到y時v變成了什麼。每次修改我會...