引言 樹套樹,顧名思義,就是要將兩種或多種樹形數據結構結合起來,解決一些單獨無法解決的問題。 如果說要解決區間上的問題,如最大值,區間修改等,肯定會想到線段樹。 但是線段樹不能查詢第k大,不能查詢一個數在區間的排名,自然也不能查詢前驅和后繼。 平衡樹可以解決查詢排名、前驅、后繼等問題 ...
寫篇博客證明自己還活着 在OI中,有些時候我們會遇到一些維護多維信息的題目,比如經典的三維偏序,或者帶修改區間k小值 這個時候有的dalao就會跳出來大喊 整體二分 CDQ 然而這並不是我們今天討論的重點 並且在強制在線的情況下,上面這兩種算法就無能為力了。 那么我們就需要用數據結構亂堆樹套樹的方法來解決這類問題。這類樹套樹解法以碼量大和難調試著稱。 通過用一種 棵 數據結構維護一維信息,我們可 ...
2017-12-08 18:03 4 4963 推薦指數:
引言 樹套樹,顧名思義,就是要將兩種或多種樹形數據結構結合起來,解決一些單獨無法解決的問題。 如果說要解決區間上的問題,如最大值,區間修改等,肯定會想到線段樹。 但是線段樹不能查詢第k大,不能查詢一個數在區間的排名,自然也不能查詢前驅和后繼。 平衡樹可以解決查詢排名、前驅、后繼等問題 ...
淺談基環樹(環套樹) 本篇隨筆簡單講解一下算法競賽中的基環樹。也叫環套樹。 一、基環樹概念 其實我個人更喜歡叫它基環樹。更好理解。 它的標准定義是:具有N個點N條邊的連通圖。 如果不保證聯通,它就會成為基環樹森林。 上張圖直觀理解一下。 這就是一棵基環樹。 如果我們把中間 ...
一【DOM樹節點】 DOM節點分為三大類:元素節點、文本節點、屬性節點 文本節點、屬性節點,為元素節點的兩個子節點; 通過getElement系列方法,可以去到元素節點 ...
計樹問題小結 標題並沒有打錯字 前言 某個當時對生成樹一竅不通的蒟蒻在\(WC2019T1\)看到了“\(n\)個點的無根樹一共有\(n^{n-2}\)種”時感到十分詭異,於是惡補了相關知識但是並沒有總結,正好和最近的無標號樹的計數問題合在一起 \(Prufer\)序列 ...
斯坦納樹 網上關於這玩意兒的資料不是很多 度娘的定義 斯坦納樹問題是組合優化問題,與最小生成樹相似,是最短網絡的一種。 最小生成樹是在給定的點集和邊中尋求最短網絡使所有點連通。 而最小斯坦納樹允許在給定點外增加額外的點,使生成的最短網絡開銷最小 ...
很久之前我就想過怎么快速在二維平面上查找一個區域的信息,思考許久無果,只能想到幾種優秀一點的暴力。 KD樹就是干上面那件事的。 別的不多說,趕緊把自己的理解寫下來,免得涼了。 KD樹的組成 以維護k維空間(x,y,……)內的KD樹為例,主要由一下三部分組成: p[k],代表 ...
動態主席樹(帶修改的區間第k大)(樹套樹) 基本思想 區間第k小的問題我們可以用靜態主席樹來維護,但是一些題目往往會增加修改操作,那么我們應該怎么做呢,先看例題。 這道題如果只用靜態主席樹是不可能的,因為有修改操作,靜態主席樹是不能修改的,我們就需要能支持修改的動態主席樹。 我們想,單點 ...
BZOJ1513 我們經常提及的二維線段樹有兩種寫法,一種是四分樹,一種是樹套樹,寫成四分樹的都是神仙。 樹套樹寫法還是比較好理解的,不過要是讓自己硬套的話可能很不容易套出來的 這里的二維線段樹,外層線段樹是對方陣的正投影,而內層線段樹是對方陣的側投影 這里的內層線段樹可以變換成一棵普通 ...