POJ1463 – 樹型DP

來源:互聯網
上載者:User

  題意: 已知一棵樹...求用最小的點覆蓋所有的邊   

   首先就發現這就是二分圖的最小點覆蓋...用匈牙利演算法求出最大匹配數即可得到最少點的數目覆蓋所有邊...簡直是赤果果的模板題...果斷開敲...測了不少資料覺得沒問題..就submit了..結果...逾時....在算了下...資料是1500...匈牙利演算法的時間複雜度是O(n^2)...果斷是要TL的..

  最後用的方法就是樹型DP..仔細思考後發現也是很簡單的...

        a[k][0] ]表示不需要第K個結點..a[k][1]表示需要第K個結點

        a[k][0]=其所有孩子的 a [ ] [ 1 ]  的和  ... 因為如果當前點不保留...而當前點到其每個孩子的邊又必須要被覆蓋..所以其所有孩子都需要被保留...

        a[k][1]=其所有孩子的 min ( a [ ] [ 1] , a[ ] [ 0 ] )  之和 + 1 ...應為當前點我選擇了保留...則孩子的情況是有還是沒有都無所謂...找到每個孩子的最小值相加再加上1就可以了..

       所需要的答案則是根的 a[ roo t ] [ 0 ] 與 a [ roo t ] [ 1 ] 中較大的那個... 

  第一次submit的時候爆空間了....原因是我存這課樹用的是鄰接矩陣..改了後就Accepted了....

  這道題通過率也不低..但A這道題經過不少次周折...第一道樹型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.