HDU2196 Computer (樹形dp或樹的直徑)

題意 給定一個n個點的樹,兩點之間的距離定義爲他們兩點之間最短路經過的邊數,問對於每個i,其它點距離i最遠是多少(n小於等於100000) 題解 首先將這棵樹轉換爲有根樹 方法一:(利用樹的直徑) 求出這棵樹的任意一條直徑(u,v),然後dfs出u及v到其他任意一個點i的距離,那麼對於每一個點,最長的距離是 max{dist(u,i),dist(v,i)} ,爲什麼是這樣的,我們考慮反證法。 假設
相關文章
相關標籤/搜索