[SHOI2008]仙人掌圖 II——樹形dp與環形處理

題意: 給定一個仙人掌,邊權爲1 距離定義爲兩個點之間的最短路徑 直徑定義爲距離最遠的兩個點的距離 求仙人掌直徑   題解: 類比樹形dp求直徑。 f[i]表示i向下最多多長 處理鏈的話,直接dp即可。 處理環的話,類似點雙tarjan,把環上的點都拉出來。 先考慮拼接更新答案。斷環成鏈複製一倍,爲了保證最短路,答案必須只能是f[i]+f[j]+i-j (i-len/2<=j<i) 單調隊列優化。
相關文章
相關標籤/搜索