建造軍營
記得當時是抄的題解,現在感覺真的很顯然。
顯然在一個點雙裡面任意選擇都是無限制的,所以直接縮點然後建出樹,直接樹 dp。
考慮子樹內的貢獻,發現一旦子樹內有任何一個點被選就要考慮連通性。所以設 \(dp(i,0/1)\) 表示裡面是否選擇過點。
轉移顯然,初始化顯然。考慮統計答案。
記得當時是抄的題解,現在感覺真的很顯然。
顯然在一個點雙裡面任意選擇都是無限制的,所以直接縮點然後建出樹,直接樹 dp。
考慮子樹內的貢獻,發現一旦子樹內有任何一個點被選就要考慮連通性。所以設 \(dp(i,0/1)\) 表示裡面是否選擇過點。
轉移顯然,初始化顯然。考慮統計答案。