動態樹之Link-Cut Trees
關於動態樹
動態樹(
解決動態樹問題有很多種方法 ,這裡介紹
動態樹的主體思想和樹鏈剖分很相似(樹鏈剖分戳這裡),非常頻繁地運用到了
無關內容:
還有一種動態樹叫做Euler-Tour Trees,能夠實現對子樹的某些操作,然而我並沒有找到有任何關於它的中文文獻。。。
所以等到我哪天英文達到了那個水平再去學吧。。。。
關於Link -Cut Trees
介紹
定義一些神奇的稱呼:
access(x) :訪問節點x PreferredChild :如果結點v 的子樹中, 最後被訪問的結點在子樹w 中, 這裡w 是v 的兒子, 那麼就稱w 是v 的PreferredChild PreferredEdge :每個點到它的PreferredChild 的邊稱作PreferredEdge PreferredPath :由Preferr 連線成的不可再延伸的路徑稱為PreferredPath
其中
容易得出整棵樹就被劃分成了若干條
access(x) 操作
一旦我們呼叫