tree
文章平均质量分 86
2020fengziyang
如果人生会有很长,愿有你的荣耀永不散场。
展开
-
浅谈 FHQ Treap
FHQ Treap,以下简写为fhqfhqfhq,是一种treap(树堆)的变体,功能比treap强大。fhqfhqfhq不需要通过一般平衡树的左右旋转来保持平衡,而是通过分裂splitsplitsplit和合并mergemergemerge来实现操作。优点是比较好理解、代码短、上手快、可持久化主要是不用像splaysplaysplay一样旋来旋去。原创 2024-05-19 20:36:11 · 245 阅读 · 4 评论 -
NOIP2023模拟9联测30 D. 金牌
的那个儿子,就可以搞到上面的。个询问,每次给定两个整数。的简单路径的价值之和 (,那么这条路径的价值为。,询问所有同时通过顶点。为根的子树中的所有点到。距离的二次幂之和、不在。假设一条路径的长度为。这条路径上的点的点集。这条路径上的点的点集。原创 2023-11-02 21:09:34 · 174 阅读 · 0 评论 -
NOIP2023模拟6联测27 B. 旅行
x原创 2023-10-30 21:45:51 · 98 阅读 · 0 评论 -
NOIP2023模拟3联测24-博弈树
轮到一方后可以将这颗棋子移动到树上任意一点,每次一方移动的距离必须比对 方上一次移动的距离还要大,开始时默认为 0。均会做出最优的选择,选择一个节点后,他们知道游戏必然有一种 必胜策略,现在他们想知道游戏的胜负,他们会询问你。现在我们假设这棵树形成了一条链,显然只有在这条链的长度是奇数且起始点在中点时先手才必败,否则先手必胜。我们开始不断删点,每次把当前树的直径的端点删掉,如果最后能够剩下一个点,那么先手必败,否则先手必胜。所以只要只有在这个树的直径是奇数且起始点在直径的中点时先手才必败,否则先手必胜。原创 2023-10-26 21:25:04 · 202 阅读 · 0 评论 -
注视一切的终结
那么答案就是另一个点的最大值,否则再枚举一遍。显然,对于两个点之间的边,我们只用维护至多。保证这个图删除了所有重边后变成一棵树。一条路径的权值就是相邻的两条边的。简单路径:路径上的所有顶点不重复。的所有不同颜色的边的最大权值。条边的图,每条边有一个颜色。次询问,每次询问给出两个点。的所有简单路径的权值的最大值。距离的祖先的一条路径,靠近。级祖先上面的那条边是。种不同颜色的就可以了。原创 2023-10-19 07:00:00 · 395 阅读 · 0 评论 -
CF837G Functions On The Segments
离散化一下,然后开一棵主席树维护。次询问,每次询问给出。用差分是因为强制在线。原创 2023-10-17 18:44:46 · 194 阅读 · 0 评论 -
P2607 [ZJOI2008] 骑士
P2607。原创 2023-10-16 07:00:00 · 280 阅读 · 1 评论 -
P3177 [HAOI2015] 树上染色
P3177。原创 2023-10-15 19:19:42 · 104 阅读 · 1 评论 -
P8973 『GROI-R1』 继续深潜,为了同一个梦想
对于每个点,询问每个点被多少个这样的点集所包含。个点,满足这些点在同一条链上面的方案数。点可以选也可以不选,并且可以选。号节点的连接的集合的个数对。加上两条链连起来的总和。原创 2023-10-15 16:35:51 · 63 阅读 · 0 评论 -
CF1527D MEX Tree
是其中一端的子孙 $lca(x , i) = x \or lca (y , i) = y $在路径上 $lca(x , i) =i \or lca (y , i) = i $注意,这里统计的路径需要包括至少一条边。定义一条路径的权值是路径上所有点编号的。必须在一条路径上,否则后面的答案就都是。定义为最小的不在集合中的非负整数。的所有子树里面任意选两个点的路径。那么就是分叉,直接下面的答案都为。是不为零的那个端点的子孙。不属于上面的任意一种情况。是当前路径端点的子孙。是当前路径端点的子孙。原创 2023-10-13 15:31:26 · 71 阅读 · 0 评论 -
P7929 [COCI2021-2022#1] Logičari
P7929。原创 2023-10-09 19:41:23 · 376 阅读 · 0 评论 -
今天原力榜第6名,发博纪念一下
今天原力榜第6名,发博纪念一下原创 2023-04-09 21:07:22 · 57 阅读 · 3 评论 -
虚树学习笔记
虚树是指在原树上选择若干点组成的树,它在原树的基础上做了一些简化,但是保留必要的信息,从而使得计算更加高效。有m次询问,每次询问给出k个询问点,问使得这。, 那么一定满足条件,直接进栈,$ stk[++top] = p$虚树主要用于树形DP中,能够减少顶点数,降低时间复杂度。因为我们每次其实只会考虑那些询问点,而询问点的数量满足。,所以我们花费了大多数时间在跑那些没有意义的节点。k个点均不与1号点(根节点)相连的最小代价。为根的子树内满足题意的最小代价,然后搞一个栈,里面存的是一条链。原创 2023-04-08 19:40:27 · 690 阅读 · 2 评论