poj 1947
摘要:
地址:http://poj.org/problem?id=1947题意:给你一棵树,求最少剪掉几条边使能够得到一个p个节点的树。mark:因为节点个数不多,我们可以把节点个数当成一个状态,那么dp[i][j]代表以i为根的子树要变成j个节点需要剪掉的边数。 这里我们考虑状态转移的时候要注意,,我们考虑子节点的时候不用考虑它与父节点的那条边,就当不存在,那么最后求的的最小边数加1就ok了~ 考虑一个节点时,有两种选择,要么剪掉跟子节点相连的边,则dp[i][j] = dp[i][j]+1; 要么不剪掉,则d[i][j] = max(dp[i][j],... 阅读全文
posted @ 2012-10-09 22:41 andre_joy 阅读(613) 评论(2) 推荐(0) 编辑