第一次寫博文,想了半天就拿一道dp/graph的題作為處女作吧
此題有兩種常見解法
(題意比較簡單,就不贅述)
1.二分圖最大比對
此題等價于問一棵樹中最小點覆寫數。樹形結構可以把它看做是一個二分圖,一個點集為奇數層,另一個點集為偶數層,顯然滿足二分圖定義,可以套用求二分圖最小點覆
蓋的方法。或者,補全二分圖,根據對稱性,就是前面構造的二分圖的邊數的二倍,故最後結果也要除以二。
2.樹形dp
寫樹形dp時首先要考慮好每個點的可能狀态,這個題中就是選不選這個點。然後就是寫狀态轉移方程
dp[i][0]=sum{dp[j][1]};
dp[i][1]=sum{min(dp[i][0],dp[i][1])};
(j為i的孩子節點集合)