【模板】樹的重心

樹的重心 定義:找到一個點,其全部的子樹中最大的子樹節點數最少,那麼這個點就是這棵樹的重心,刪去重心後,生成的多棵樹儘量平衡。 c++ 算法流程 首先,利用前向星存邊創建邊表。因爲無向,因此要連兩次邊。咱們用一次 dfs() d f s ( ) 創建以1爲根節點時每一個結點所在子樹的結點數。web 接下來考慮把這個點刪掉的結果,若是一個非根結點有 p p 個兒子,那麼刪掉這個點以後會有 p+1 p
相關文章
相關標籤/搜索