【DP_樹形DP專輯】【9月9最新更新】【from zeroclock’s blog】

來源:互聯網
上載者:User

      樹,一種十分優美的資料結構,因為它本身就具有的遞迴性,所以它和子樹見能相互傳遞很多資訊,還因為它作為被限制的圖在上面可進行的操作更多,所以各種用於不同地方的樹都出現了,二叉樹、三叉樹、靜態搜尋樹、AVL樹,線段樹、SPLAY樹,尾碼樹等等..

     枚舉那麼多種資料結構只是想說樹方面的內容相當多,本專輯只針對在樹上的動態規劃,即樹形DP.做樹形DP一般步驟是先將樹轉換為有根樹,然後在樹上進行深搜操作,從子節點或子樹中返回資訊層層往上更新至根節點。這裡面的關鍵就是返回的資訊部分,這個也沒一般性的東西可講,因為每道題目要求做的事都不盡相同。

     這個專輯暫時氛圍3哥部分,分的可能不是很好,後面題目做多了理解更深了可能會更改,但那都是後話了。

一、常規樹形DP

     1、 Hdu 1520 Anniversary party 
每個節點有權值,子節點和父節點不能同時選,問最後能選的最大價值是多少?解題報告Here      2、Hdu
2196 Computer  經典題,求樹每個點到其他點的最遠距離,轉化為有根樹,深搜兩次,一次記錄到葉子的最遠距離,一次更新最終答案。解題報告Here      3、Poj 1741 Tree(難)  經典題,求樹上兩點間距離小等於K的方案數,樹上分治。解題報告Here      4、Poj 2152 Fire(難)  罕見的O(n^2)的樹形DP,在樹上建消防站,要求每個節點離最近的消防站距離小於K,問最小花費。解題報告Here      5、Poj 3162 Walking Race(難)  樹形DP找最遠距離+線段樹查詢最大最小值,然後再維護兩個指標遍曆整個序列。解題報告Here      6、cf 218D. Choosing Capital for Treeland 把邊方向轉變成邊權,正向為0,反向為1.經過轉換,問題變成求某點為根到所有點的邊權總和,求邊權總和最小的那些點。二、樹形背包問題(在樹上進行分組背包處理)

      1、Poj 1155 TELE  把每個節點的子節點看成一組背包,最大容量是這點的葉子子孫數量,選幾個節點就是選擇的容量,價值就是使用者給的Money-中轉費用。解題報告Here      2、Hdu 1011 Starship
Troopers 和上題相似,要選擇父節點必先子節點,特判m為0的時候。      3、Poj 1947 Rebuilding Roads 求最少刪除幾條邊使得子樹節點個數為p,具體的模型和上題很像。解題報告Here      4、Hdu 1561 The more, The Better 在一棵樹上選擇若干個點獲得的最大價值,選子節點必須先選父節點,求解情況和上兩題相同。解題報告Here      5、Hdu 4003 Find Metal Mineral (推薦,好題) 樹形DP+選且只能選一個物品的分組背包,狀態轉移方程難想。解題報告here      6、Poj 2486 Apple Tree 樹形DP+分組背包,但是狀態轉移方程要分三步,較為難想。解題報告Here      7、Poj 3345 Bribing FIPA  樹形DP+分組背包,和前面幾題相比沒有特殊的地方,只是要注意輸入。具體可見Here      8、Hdu 4044 GeoDefense 樹形DP+分組背包,要求從每個兒子結點擷取最小的hp,然後找這些兒子的最大組合,不是特別好想。解題報告見Here      9、Zoj 3627 Treasure Hunt II  樹形DP +分組背包,浙大月賽的水題,很普通的樹形背包。      10、4276 The Ghost Blows Light  有兩種寫法,一種是把一棵樹壓縮成一條鏈,然後在鏈上DP,一種和 Apple tree差不多,具體見Here三、刪點或者刪邊類樹形DP

      1、Hdu 3586 Information Disturbing 二分Upper power limit,然後從葉子節點向上更新,邊權與limit比較再進行狀態轉移。解題報告Here       2、Poj 3107 Godfather  刪點,使剩下的分支中最大的節點數最小,深搜一次記錄到葉子節點距離,再進行枚舉求最大值,再更新答案。解題報告Here      3、Poj 2378 Tree Cutting 刪點,使剩下的分支中有最大節點數的分支小等於總數一半,問有幾種方案,和上題差不多。解題報告Here
          4、Poj 1655 Balancing Act  刪點,使剩下的分支中最大的節點數最小,深搜一次記錄到葉子節點距離,再進行枚舉求最大值,再更新答案。解題報告Here      5、Poj 3140 Contestants Division  刪邊,求刪去某條邊後兩個分支的最小差異值,也是深搜兩次。解題報告Here

    這篇文章將會不斷更新,以後每遇到樹形DP我都會整理進這個專題,希望大家保持關注。     本文ZeroClock原創,但可以轉載,因為我們是兄弟。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.