Link Cut Tree學習總結

2021-07-13 13:56:11 字數 671 閱讀 2688

title: 『link-cut tree學習總結』

categories: 演算法

date: 2016-1-14 21:30:00

tags: [lct,演算法]

lct是一種用於解決動態樹問題的資料結構。大體上的感受,lct就是樹鏈剖分和splay的結合版,什麼意思呢?因為要動態維護樹的結構和樹上的資訊,所以把維護重邊的線段樹換成更靈活的splay。splay作為輔助樹是按深度來維護樹上的一條鏈,就像是維護樹上的乙個序列一樣。

由於本人語文水平有限,講不太清楚,感覺還是貼上煉接會比較好。

具體的操作請看這篇文章:

好文戳這裡

畸形寫的**,很有才:

**戳這裡

void cutright(int k)

}void access(int k)

}

void beroot(int k)
int findroot(int k)
void link(int x,int y)
void cut(int x,int y)
int query(int x,int y)

Link Cut Tree學習小記

link cut tree簡稱lct,是維護動態樹方式的一種,是乙個可以對樹進行新增鏈或子樹,刪除鏈或子樹等等,可以支援對樹的結構進行修改的演算法。樹鏈剖分只能維護靜態樹,就是只能對樹上的點的值進行修改的演算法,一般還是用線段樹來維護的。所以lct就厲害了,首先是維護方式不同,其次它是用splay來...

Link Cut Tree學習小記

lct幾個月前就學了,花了我一整天問alan cty才搞會 lct的左右就是維護樹上的一些值,和樹鏈剖分有相同的作用,也有超過樹鏈剖分的作用 lct也就是動態樹,意思就是樹是會動的,也就是有連邊和刪邊兩個操作 和鏈剖一樣,邊可以分為兩種,重邊 偏愛邊 和輕邊。一條重邊連起來的是一條鏈,在同一棵spl...

Link Cut Tree 學習筆記

link cut tree,用來解決動態樹問題。巨集觀上,lct維護的是森林而非樹。因此存在多顆lct。有點像動態的樹剖 鏈的確定通過 access 操作 每條鏈用一顆 splay 維護。splay 維護鏈的關鍵字是深度,因此一條鏈的頂端就是 splay 中鍵值最小的點 由於lct的資料有很多,在此...