摘要: 题目是问把一棵树通过剪边、加边形成一个环的最小代价。分成两步,先把树剪成一些链,再把链连接成一个环。设一棵有n个节点的树,剪掉X条边后,形成L条链。那么代价为X+L。n-1-X=edgeNum(L条链) ① //原本有n-1条边,剪掉X条,还剩edgeNum(L条链)条edgeNum(L条链)+L=n ② //L条链的这些边+L条边形成一个有n条边的环由①、②得到,L=X+1则代价为 X+L=2*L-1=2*X+1。问题转化成了,把一棵树剪成一些链,最少能剪成几条链?或者,最少需要剪掉多少条边?我觉得到了这一步问题就好解决了,我是树形dp搞的,求的是最少能剪成几条链。dp[u][0]表示u节点 阅读全文
posted @ 2013-09-09 21:55 kiwi_bird 阅读(294) 评论(4) 推荐(1) 编辑