學習筆記 圓方樹

2022-02-05 16:13:25 字數 1988 閱讀 3300

圓方樹:元芳你怎麼看

圓方樹推薦

圓方樹是什麼?

tarjan家族中,最不好處理的是點雙

因為乙個割點可能屬於很多的dcc。

為了把圖縮成一棵樹,我們不得不做出這樣的處理:

摘自:

這個樹不但醜。而且,對於乙個點雙內部的資訊,我們把它縮成了乙個點,內部的與非割點有關的路徑我們一無所知。

所以這個玩意只能用來維護連通性。。。。以及簡單的問題。

而且要分類討論一大堆。,。。。

(upda:2019.6.21這個樹就是圓方樹的虛樹,圓方樹主要就是多了主幹之外的一些圓點作為枝葉。這些枝葉和方點之間的連邊可以賦予權值,使得)

圓方樹橫空出世。

摘自yyb部落格

這樣,我們

既保留了整體上樹的優美結構,又可以保留所有的原始節點。

利用圓點和方點之間的邊來儲存資訊,就可以比較輕鬆處理具體點雙內部的路徑了。

圓方樹是處理仙人掌問題的。

處理仙人掌問題還有乙個方法:dfs樹。

我們發現乙個仙人掌無非就是多了幾個環。

那麼找乙個dfs樹出來,就是多了幾個返祖邊。

dp的時候照顧一下就好了。

例如把環直接拉出來,或者多加一維記錄環頂的資訊 。

[shoi2008]仙人掌圖 ii——樹形dp與環形處理

但是這個東西的低階之處在於,

基本上我們只能搜尋一次,對於重複靈活查詢,例如最短路徑的問題,就無能為力了。噁心之處就是環的問題。

(可能用什麼暴力高階資料結構維護也許可以)

圓方樹就簡單很多了。

一般就分方點原點討論一下。

關鍵在於怎麼處理圓——方邊,以及方點維護哪些資訊。

由於圓方樹比較優秀,

它還可以用於一般的圖。

既保留了整體上樹的優美結構,又可以保留所有的原始節點。

利用圓點和方點之間的邊來儲存資訊,就可以比較輕鬆處理具體點雙內部的路徑了。

upda:2019.2.15

博主沒有放例題。。。

圓方樹既然是樹,就和其他樹一樣了。

仙人掌只是特殊的情況。

關鍵是方點的權值設計

結合樹鏈剖分

結合樹形dp

[apio2018] duathlon 鐵人兩項

• 給出乙個圖,多次詢問

• 每次給出乙個點集和乙個邊集

• 詢問如果往圖中加入了邊集裡的邊,那麼點集的點是否雙連通

圓方樹學習筆記

聽說g2的選手都會圓方樹了,所以我來學習一波。這個階段的學習我也僅僅只是知道了圓方樹是什麼,比較簡單的題目怎麼寫,但是對於一些思維難度較高,實現能力要求較高的題目,我還不是很會.希望未來能越來越好 點雙連通分量,仙人掌的定義。點分為圓點和方點的樹.把仙人掌上的點保留,然後如果存在乙個點雙就新建乙個方...

圓方樹學習筆記

寫這個東西只是記錄一下我學過圓方樹 text 圓方樹是一種將圖變成樹的方法。首先,把原圖中的所有點都看成圓點,我們需要求出圖中所有的點雙連通分量,可以使用 tarjan 演算法。然後,在每乙個點雙連通分量中間建立乙個方點,將此點雙連通分量中的所有點向這個方點連邊。這樣就可以把圖轉成樹,利用一些樹上的...

圓方樹學習筆記

模擬賽要求圖上距離為 k 的節點對數,就學了一下圓方樹 眾所周知,樹有很多美妙的性質,但是有些題目非把樹上問題搬到圖上,這時我們就要上圓方樹了。那麼圓方樹是什麼呢?是圓形節點和方形節點構成的樹 圓方樹 block forest 或 round square tree 1就是一種將圖變成樹的方法。本文...