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就会构成一个环。
题目链接: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 4714 Tree2cycle
- HDU 4714 Tree2cycle
- hdu 1325(Is It A Tree?)
- hdu 1325 Is It A Tree?
- Binary Tree Traversals HDU - 1710 (二叉树求后序)
- hdu1325 Is It A Tree?(二叉树的判断)
- hdu 1055 Color a Tree(树上贪心,4级)
- hdu 4929 Another Letter Tree(LCA+DP)
- HDU 1325 Is It A Tree? POJ 1308 Is It A Tree? (并查集+入度,判断一个有向图是树)
- Query on a tree(hdu 3804 树链剖分+线段树 vector)
- HDU 4836 —— The Query on the Tree(线段树+LCA)
- HDU 5614 Baby Ming and Matrix tree(树链剖分+线段树)
- hdu 1325 is it a tree? 5.1.3
- 2017 广西邀请赛&& hdu 6191 Query on A Tree(字典树启发式合并)
- [伪位运算生成树] HDU 5629 Clarke and tree
- HDU 1325 POJ 1308 Is It A Tree? (并查集)
- HDU 6191 2017广西邀请赛Query on A Tree:可持久化01字典树(区间抑或最大值查询)
- HDU 1325 Is It A Tree?
- Hdu 4718 The LCIS on the Tree 动态树 LCT
- hdu 4408 Minimum Spanning Tree 最小生成树计数