原文:求樹的重心

給定一棵樹,求樹的重心的編號以及重心刪除后得到的最大子樹的節點個數size,如果size相同就選取編號最小的. 首先要知道什么是樹的重心,樹的重心定義為:找到一個點,其所有的子樹中最大的子樹節點數最少,那么這個點就是這棵樹的重心,刪去重 心后,生成的多棵樹盡可能平衡. 實際上樹的重心在樹的點分治中有重要的作用,可以避免N 的極端復雜度 從退化鏈的一端出發 算法就是跑一遍dfs,找到最優解。 鏈接 ...

2018-08-10 22:46 0 934 推薦指數:

查看詳情

關於重心

(由於本人太菜所以最近一直在補一些基礎算法……) 重心的基本思想就是從每個節點出發分別遍歷一遍,統計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
重心的性質及其證明

想了我好長時間。。。 重心如果不唯一,則至多有兩個,且這兩個重心相鄰 先假設有兩個重心 \(u,v\) 不相鄰,考慮它們之間的這條路徑,則至少有三個節點(以下的 “它們之間的路徑” 都是指 \(u,v\) 之間的路徑) 設 \(u\) 的不包含它們之間的這條路徑 ...

Sat Aug 22 04:57:00 CST 2020 9 1200
重心 學習筆記

第1.5版 關於重心 有配圖 有文字講解 關於Godfather 有AC代碼 文字說明 關於centroid 本人蒟蒻這晚上只寫了55pts(以后會有AC代碼的) 新增20pts二叉樹 手把手教你分析時間復雜度 考場寫暴力得省一心 ...

Wed Feb 12 07:44:00 CST 2020 0 268
重心的應用

  關於重心的一些性質都沒有理解的很好 在此總結一下。 重心的應用 點分治 點分 動態維護樹的重心等等。 關於點分治的復雜度一論 這個其實是套用了 分治的思想 或者是CDQ 的思想 對區間不斷的進行遞歸分治,這個分治可以很快的分出斷點mid 而在樹上我們就無法快速得出這個mid ...

Tue Aug 13 22:11:00 CST 2019 1 440
的直徑及重心

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

Fri May 05 05:05:00 CST 2017 1 3394
淺談重心

淺談的直徑 定義:   樹上一節點最大子樹的節點數最小; 性質:   1.刪除重心后所得的所有子樹,節點數不超過原的1/2,一棵最多有兩個重心;   2.中所有節點到重心的距離之和最小,如果有兩個重心,那么他們距離之和相等;   3.兩個通過一條邊合並,新的重心在原兩個 ...

Sun Jul 28 19:57:00 CST 2019 2 902
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM