樹上最近公共祖先(歐拉序+RMQ)

算法描述 根據上一個博客介紹的dfs序以及歐拉序可以把樹上的點轉爲線性的區間點,從而能夠用區間的數據結構去維護。根據歐拉序的定義,咱們會發現樹上任意兩點的第一次出現位置之間必然夾帶着lca的點,至於爲何能夠畫圖理解一下,由於咱們生成這個歐拉序時每次回溯就加一個點,而任意兩點之間的搜索樹必定是從lca開始往下搜,而後回溯再轉而去搜另一個點,因此lca就生成再兩點的時間戳之間了。 因而咱們維護完歐拉序
相關文章
相關標籤/搜索