摘要: 题意:输入N,P,求一棵N个节点的树最多砍多少次边,能得到一个节点数为P的树。这个题目还真是一时间考住我了,我怎么都没想通怎么DP,甚至后来没办法去找博客看了一下,还是觉得无法理解。今天上午,翘着水课来刷题,总算是弄懂了。用dp[rt][j]表示在以rt为根节点的树上,要保留j个节点,(每次j从p递减到1)需要的最小割边数,首先我们来考虑边界,如果是叶子,则dp[rt][1]=0是显而易见的,除此外,它无法构成任何其他数目节点的树,所以dp[rt][i](i为除1外的数)全部置为INF,以此来表示不存在。dp[rt][j]=min(dp[rt][j]+1,dp[rt][j-k]+dp[nx][ 阅读全文
posted @ 2013-11-04 11:48 KRisen 阅读(335) 评论(0) 推荐(0)