動態規劃專題(二)——樹形DP

來源:互聯網
上載者:User

標籤:bzoj   mat   而且   一個   就會   ref   雜題   理解   形式   

前言

\(DP\)這東西真的是博大精深啊......

簡介

樹形\(DP\),顧名思義,就是在樹上操作的\(DP\),一般可以用\(f_i\)表示以編號為\(i\)的節點為根的子樹中的最優解。

轉移的時候一般都將資訊由子節點轉移到父親節點,也就是將資訊從下往上轉移。

因此,一般樹形\(DP\)都會採用 遞迴 的形式。

典例1:樹上背包

樹形\(DP\)中有一種比較經典的題型:樹上背包

其實它的思想與普通背包差不多,關鍵在於它玄學的時間複雜度。

很多看似\(O(n^3)\)會\(T\)飛(實際上也的確是這樣)的題目,可能你用\(O(n^3)\)的樹上背包卻能跑過(時間複雜度我也不會證),而且不是因為資料水。

可參考一道例題:【洛穀1273】有線電視網。

典例2:帶權樹的直徑

普通的樹的直徑可以用\(BFS\)來求,但如果是帶權的,\(BFS\)就會被卡炸(可惜我之前不知道)。

於是就用上了樹形\(DP\)

可參考一道例題:【雜題】訪問計劃。

幾道例題

好吧,\(DP\)好像也沒什麼東西可講,這樣介紹得還是不夠具體。乾脆直接看例題來理解一下吧。

第一道例題: 【51nod1299】監獄逃離

這題是一道挺有意思的樹形\(DP\)題,我們可以考慮用\(f\)數組來記錄每一個節點的狀態:完全封死可以從這個節點到達葉子節點有犯人可以到達該節點,然後就不難統計出答案了。

第二道例題: 【BZOJ4033】[HAOI2015] 樹上染色

比較經典的樹形\(DP\)題。這道題最值得注意的地方不是\(DP\)過程,而是注意在一棵有\(n\)個節點的樹上將\(m\)個節點染成黑色與將\(n-m\)個節點染成黑色其實是等價的,不加上這個最佳化就會\(TLE\)。

第三道例題: 【BZOJ1040】[ZJOI2008] 騎士

一道噁心的基環外向樹\(DP\),應該是比較模板的吧。

動態規劃專題(二)——樹形DP

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.