聯考20200525 T1 資料結構

2022-09-10 13:54:26 字數 1279 閱讀 2078

分析:這道題可以看做單點修改區間查詢歷史最小值的資料結構題

區間修改單點查詢歷史版本可以使用二維資料結構維護

由於卡空間,這裡只能選擇kd樹

在kd樹上區間修改,歷史最值只需要統計單點到根節點的路徑上記錄的歷史最值就行了

關鍵是這道題如何轉化?

我們把詢問離線,每乙個查詢\((l,r)\)看做座標軸上的單點

單點\(x\)的修改可以看做對橫座標為\([1,x]\)縱座標\([x,n]\)的矩形區間修改

於是轉化成了區間修改單點查詢

kd樹上每個節點儲存當前狀態和懶標記狀態(狀態包含當前值和歷史最值)

聯考20200719 T1 合併奶牛

分析 首先考慮 dp 設 f 表示 a 用了前 i 個,b 用了前 j 個的方案數 先給出式子 f f f sum b f cat 求和下面的條件是 a 和 b 的某一段相同,cat 是卡特蘭數 如果沒有同樣的顏色,不用後面的求和,算出來的答案就是正確的,但是有了同樣的顏色,前面的會算重 後面的求和...

聯考20200801 T1 林海的密碼

分析 很離譜的構造題 第乙個點直接輸出c條重邊就可以了 第二個點增加 k 個點,每個點向終點連2條邊 其實第二個點給了我們一些提示,讓我們向二進位制之類的方向思考問題 考慮構造乙個像這樣的環 我們算一下方案,其實可以列舉斷掉那條邊,兩端各自沿著紅藍邊走向根 答案是 2 0 2 1 2 1 2 2 2...

十二省聯考2019 D1T1異或粽子

嘟嘟嘟 做這題之前,強烈推薦先把這道題切了p1631序列合併。這兩道題思路基本一模一樣。首先把異或處理成字首異或,然後維護乙個大根堆,每一次取出堆頂加到答案裡面,然後把堆頂所在元素的次大的異或值放進堆裡。這樣迴圈 k 次,就是答案。關鍵在於對於數 sum i 怎麼找異或第幾大。眾人皆知是建01tri...