挑戰自己寫了一下這道noi歷史上最**的資料結構,
noi2005的維護序列,非常**非常**,在經過4小時的debug後一次ac了= =
如果再賽場上以我現在水平一定搞不出來。。。
吃一塹長一智,這題對平衡樹的操作更加深入、
由於oj上的記憶體限制只有64mb。。。所以為了記憶體,加了個**棧。
後來又加了個**棧,
**棧指的是被刪除的節點進入棧中,需要從棧中拿出,棧為空那個則再新增節點。。
從**棧取出節點的時候要清除節點的標記。。
節約很大的空間(儘管noi時期不用管它)
這題改天要重新寫寫。。
之前一直不敢寫是因為有翻轉操作不敢寫,翻轉則是給根結點乙個標記,左右兒子交換,值傳遞,
其餘的與普通的splay值傳遞是一樣的。。
注意給給前後各加乙個點,max=-inf。這樣進行初始化。。。
noi2005維護數列
請寫乙個程式,要求維護乙個數列,支援以下 6 種操作 請注意,格式欄 中的下劃線 表示實際輸入檔案中的空格 操作編號 輸入檔案中的格式 說明1.插入 insert posi tot c1 c2 c tot 在當前數列的第 posi 個數字後插入 tot 個數字 c1,c2,c tot 若在數列首插 ...
NOI2005 維護數列
陳年老題。我就 碼了4k多。主要就是用splay,然後處理區間上的東西 區間反轉就和模板一樣,但是要記得反轉leftmax和rightmax 區間賦值就把那個區間提取出來,然後給子樹根打個same標記,表示下面的全一樣。區間求最大子段和就和線段樹的套路一樣。區間插入就先弄好一顆平衡樹,然後把原平衡樹...
NOI2005 維護數列
傳送門 我還是沒有逃過在這道題上debug好久的命運 我是使用 fhq treap 來做的這道題。寫的時候寫的挺爽的 調的時候真難受。首先我們先來說說咋做吧。前5個操作對於 fhq treap 來說不在話下,只要多打兩個標記就可以了。但是如何求最大子段和?於是乎我們再打三個標記來維護它 霧 然後我們...