1. 程式人生 > >Codeforces 835F Roads in the Kingdom (環套樹DP)

Codeforces 835F Roads in the Kingdom (環套樹DP)

for com ads 題目 現在 targe 都是 題意 ont

題目鏈接 Roads in the Kingdom

題意 給出一個環套樹的結構,現在要刪去這個結構中的一條邊,滿足所有點依然連通。

刪邊之後的這個結構是一棵樹,求所有刪邊情況中樹的直徑的最小值。

顯然能被刪掉的邊是環上的邊。

首先預處理出這個環。環上的每一個點都是一棵樹的根。

假設環上有cnt個點,首先我們要求出這cnt棵樹的樹的直徑的最大值ret。

然後我們要求出這cnt棵樹的最大深度deep[i]。

接下來我們就只考慮環上的點了。

設pre[i]為從環上的1號點開始往右走,走到i或之前的某一棵子樹的路徑長度最大值。

設suc[i]為從環上的n號點開始往左走,走到i或之後的某一棵子樹的路徑長度最大值。

Codeforces 835F Roads in the Kingdom (環套樹DP)