树上问题
文章平均质量分 69
树上问题
WQhuanm
获奖项:2023天梯赛三等奖
展开
-
树的重心。
注意到节点还有一颗子树是在他头上,因为我们已经求出i的所有子树节点,那么头上那颗节点数自然知道,就是n-cnt[i](cnt包括i自己)利用定义,我们遍历i点时,就记录他的最大子树节点数,如果他的数量原创 2023-04-12 20:35:56 · 470 阅读 · 2 评论 -
树的直径问题
树的直径就树中所有最短路经距离的最大值求取树的直径可以使用两遍dfs或者树形dp获得。原创 2023-04-12 19:21:20 · 548 阅读 · 0 评论 -
kruskal重构树
kruskal是求最小生成树的一种算法。但是这种结合并查集的特殊方法给了他许多特殊的性质。可以用于解决树上瓶颈边权之类的问题结合这种算法而诞生的就是——kruskal重构树。原创 2023-04-11 20:00:31 · 984 阅读 · 0 评论 -
最小生成树
将无向连通图连起来的生成树中需要的权值最小的生成树为最小生成树主要有两种算法prim算法(暴力O(n^2+m)还有kruskal算法(mlogm)。以下代码都是写这模板题的。原创 2023-04-10 21:15:47 · 64 阅读 · 0 评论 -
完全二叉树的4种遍历方式
一张二叉树的图。原创 2023-03-29 20:12:12 · 763 阅读 · 0 评论 -
树链剖分(维护树上信息)
将一颗树拆成多条线性链以方便维护(如线段树)。原创 2023-03-01 18:51:46 · 345 阅读 · 0 评论 -
树上差分(含链式向前星,LCA,树上点差分的主要知识)
(注:LCA为u与v最近的公共父节点)让u到v这段绿色曲线都+1,我们可以从俩边操作,即u+1,v+1,那么你lca及其上面的各个点就加多了,所以在lca-1,fa[lca]-1,lca减一,因为我还要lca+1的,只是他+2了,所以我-1,lca的父亲-1,因为lca前面的点是不要+1的,加上lca的-1,就抵消了俩边各自+1(合并就是+2)原创 2022-11-07 09:53:53 · 545 阅读 · 0 评论