启发式合并
_Shmily
这个作者很懒,什么都没留下…
展开
-
2020牛客暑期多校训练营(第五场) B、Graph(字典树,最小生成树,思维)
题目链接 题面: 题意: 给一棵树,每个边有边权,题目让你增减一些边,在操作的过程中保证: (1)图是联通的 (2)图中任意的环的边权的异或值为 0 求任意操作后图中边权权值和最小值。 题解: 显然,任意两点直接相连的边权是固定值,为树上这两点简单路径上边权的异或和。而树上简单路径的边权异或和又可以转换成两点到根的前缀异或和的异或。那么问题就转换成了一个 n 个点的完全图的最小生成树。每个点有权值,边权就是边上两点的异或和。 我们可以很自然的建一棵 0/1 字典树,然后对于字典树上的每个节点,我们递归合并原创 2020-08-25 09:25:38 · 90 阅读 · 0 评论 -
SDUT 4778 - Cut the tree (树上启发式合并)
题目链接 题面: Cut the tree Description 给一个具有 N 个节点的有根树,以 1 号节点为根,节点编号从 1 开始,点有点权。 树的第 H 层权值为深度为 H 的所有点的点权之和。 树的总权值为所有层权值的最大值。 问分别割掉以 1,2,…,N 为根的子树后,剩余树的总权值为多少。 Input 第一行输入一个正整数 N 表示节点的个数。(2 <= N <= 100000) 接下来 N-1 行每行两个正整数 x , y,表示节点 x 和节点 y 之间有边。 最后一行输入N原创 2020-08-24 22:10:24 · 121 阅读 · 0 评论