1. 程式人生 > >D - Tree and Hamilton Path

D - Tree and Hamilton Path

這不 方案 pos markdown 次數 還要 mark and 由於

題意

給一棵樹,問一個排列,使得按順序走過這些點的路徑最長。

N<=100000

解法

為了能讓每條邊被經過的次數達到上界,
我們首先找出重心,
然後容易得出一種排列方案,使得答案為以重心為根的深度和*2。
但由於這不是一條回路,還要減去與重心相連的一條邊。
如果重心存在一個兒子的size是點數的一半,那麽就減去這條兒子的邊權。
否則就挑一個最短的邊權刪掉即可。

D - Tree and Hamilton Path