码迷,mamicode.com
首页 > 其他好文 > 详细

树形dp - Codeforces Round #322 (Div. 2) F Zublicanes and Mumocrates

时间:2015-10-03 23:08:48      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

 Zublicanes and Mumocrates

Problem‘s Link


 

Mean: 

给定一个无向图,需要把这个图分成两部分,使得两部分中边数为1的结点数量相等,最少需要去掉多少条边.

analyse:

树形dp.

dp[cur][i][j]:当cur为i集合的时候 有j个和i同集合的方案

状态转移方程为:

   dp[cur][i][j+k] = min{dp[to][i^1][j=(叶子个数-d)]+dp[cur][i][k]+1,dp[to][i][j]+dp[cur][i][k]}

cnt为叶子节点的个数.

最后答案是:min{ dp[root][0][cnt/2] ,dp[root][1][cnt/2]}

Time complexity: O(N)

 

view code

 

树形dp - Codeforces Round #322 (Div. 2) F Zublicanes and Mumocrates

标签:

原文地址:http://www.cnblogs.com/crazyacking/p/4853943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!