原文:樹的直徑、樹的重心與樹的點分治

樹的直徑 樹的直徑 Diameter 是指樹上的最長簡單路。 直徑的求法:兩遍搜索 BFS or DFS 任選一點w為起點,對樹進行搜索,找出離w最遠的點u。 以u為起點,再進行搜索,找出離u最遠的點v。則u到v的路徑長度即為樹的直徑。 簡單證明: 如果w在直徑上,那么u一定是直徑的一個端點。反證:若u不是端點,則從直徑另一端點到w再到u的距離比直徑更長,與假設矛盾。 如果w不在直徑上,且w到其距 ...

2014-08-08 12:14 0 5138 推薦指數:

查看詳情

直徑重心

1.直徑 樹上最長的簡單路徑即為直徑。 求直徑的方法就是在樹上任選一u,求距離u最遠的y,再求距離y最遠的s,y到點s的距離即為直徑。 View Code 2.重心 若有一,其所有子樹中最大子樹的節點數最少,則該 ...

Fri May 05 05:05:00 CST 2017 1 3394
直徑重心、中心

直徑 直徑,是指樹上最長的一條鏈。 求直徑有兩種方法 \(1.DP\):\(d1[u]\)表示\(u\)到達子樹中葉子節點的最長鏈,\(d2[u]\)表示\(u\)到達子樹中葉子節點的次長鏈,兩條鏈不能有交集,只需要對每個節點做以下更新同時維護最大值最小值即可 這樣維護保證 ...

Thu Oct 24 00:04:00 CST 2019 0 582
關於重心

(由於本人太菜所以最近一直在補一些基礎算法……) 求重心的基本思想就是從每個節點出發分別遍歷一遍,統計max_part,其中能夠使得max_part最小的就是重心 另外:一棵有根至多有兩個重心,這個結論好像有些題可以用(比如BZOJ4337,不過那個數據太水只有50(什么暴力亂搞 ...

Sat Oct 06 22:24:00 CST 2018 0 2312
重心

先任選一個節點作為根,將無根轉換成有根,代碼實現是DFS。 以圖9-13的節點i為例,因為是任意選擇一個節點做DFS,有以下幾種可能: 1.以節點i為根節點,有三個子樹 2.以左下方節點為父節點,訪問節點i,有兩個子樹 3.以右下方節點為父節點,訪問節點i,有兩個子樹 4. ...

Tue Sep 13 17:05:00 CST 2016 0 4670
直徑方法總結

直徑長度是 1 ,但我們從圖中很容易看出來直徑最長 應該是 2.(用樹形 DP 的話從下向上就可以得 ...

Tue Jan 28 01:27:00 CST 2020 0 1175
淺談直徑

淺談直徑 定義:   直徑指樹上最長鏈(最遠點對) 求解:   直徑存在兩種求解方式均為O(n)復雜度,其各有優劣 1.貪心法   任取一作為起點,找到樹上距離該的最遠點,記作st,再以st為起點,找到樹上距離st最遠的,記作ed,st至ed即為直徑 ...

Tue Jul 16 00:31:00 CST 2019 0 534
直徑算法

直徑算法 標簽: 圖論——直徑 閱讀體驗:https://zybuluo.com/Junlier/note/1251025 直徑 直徑是樹上的最長路 求法:2遍\(Dfs(Bfs)\) 沒錯,真的這么簡單...... 先隨便找個i開始\(Dfs ...

Thu Aug 16 01:36:00 CST 2018 0 1335
(圖論)直徑

引言 作為一種特殊的圖,具有很多良好的性質,直徑便是其中之一。 定義 直徑有許多相近的定義。但由於沒有找到比較權威的定義,就用自己的語言大概表述一下吧。 對於一棵帶非負邊權的,定義兩間距離為兩間路徑的邊權之和,直徑就是距離最遠的兩之間的路徑,同時也稱該距離為直徑 ...

Sun Feb 24 01:43:00 CST 2019 0 774
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM