您的位置:首页 > 其它

HDU 4714 Tree2cycle

2013-09-12 17:12 211 查看
题目: 有一颗树, 删除一条边花费一权值, 添加一条边花费一权值。 问让N个节点构成一个环,最少花费多少权值。

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4714

比赛的时候,思路没正确~~~~悲剧
记录一下思路:
对于有两个以上(包括两个)的分叉,那么就首先与父亲断离,形成一条游离链。 还需要断离 du - 2个儿子, 并且再次连接  du - 2个儿子构成一条直链。这里已经花费了  2 * (du - 2) + 1次操作。 还需要一次操作是与下一个游离链相连。 即 2 * (du - 1) 次操作。
如果该节点就是自定义的根节点, 那么其无需与父亲断离, 也无需与下一个游离链相连。 即需要 2 * (du - 2)次操作。
每次与父亲断离后。 父亲就失去一个儿子节点。
如果该节点只有一个分叉或者是叶子节点, 什么都不管, 返回true. 表示 还是原树一起。

然后再 + 1就会构成一个环。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HDU