字典树
_Shmily
这个作者很懒,什么都没留下…
展开
-
HDU - 5390 tree (可持久化字典树+线段树)
题目vj链接 题面: 题意: 给定一棵有根树,根节点为1,节点 iii 的权值为 vivivi。 有以下两种操作: (1) 0 x y ---- 将节点 xxx 的权值改为 yyy (2) 1 x ---- 查询 vx xor vtv_x\space xor\space v_tvx xor vt 的最大值,其中 t∈path(x,root)t \in path(x,root)t∈path(x,root) 题解: ①、考虑不带修改 vxv_xvx 是一个已知的原创 2020-08-26 17:18:11 · 199 阅读 · 1 评论 -
HDU - 4757 Tree(可持久化字典树)
题目vj链接 题面: 题意: 给定一棵树,边有边权。 m次询问,每次给定 x,y,z。求 x 到 y 的简单路径所经过的点的点权与 z 异或的最大值。 题解: 可持久化字典树。 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<string原创 2020-08-26 13:46:45 · 132 阅读 · 0 评论 -
2020牛客暑期多校训练营(第五场) B、Graph(字典树,最小生成树,思维)
题目链接 题面: 题意: 给一棵树,每个边有边权,题目让你增减一些边,在操作的过程中保证: (1)图是联通的 (2)图中任意的环的边权的异或值为 0 求任意操作后图中边权权值和最小值。 题解: 显然,任意两点直接相连的边权是固定值,为树上这两点简单路径上边权的异或和。而树上简单路径的边权异或和又可以转换成两点到根的前缀异或和的异或。那么问题就转换成了一个 n 个点的完全图的最小生成树。每个点有权值,边权就是边上两点的异或和。 我们可以很自然的建一棵 0/1 字典树,然后对于字典树上的每个节点,我们递归合并原创 2020-08-25 09:25:38 · 98 阅读 · 0 评论