树链剖分
文章平均质量分 80
starusc
这个作者很懒,什么都没留下…
展开
-
树链剖分
树链剖分其实就是把树分成一个一个的链,方便用线段树维护。轻重边剖分我们将树中的边分成两种:轻边,重边。如下图中加粗的边是重边,其余是轻边。对于每一个节点,我们都记size最大的儿子连的边为重边。【注意:每一个点都连着重边。】轻重边有几个性质:性质 1:如果(u,v)为轻边,则size(v) <= size(u) / 2。证明:设size(v) > size(u) ...原创 2018-10-13 23:29:14 · 195 阅读 · 0 评论 -
【月下“毛景树”】树链剖分
月下“毛景树”应该一看都知道是树链剖分吧,但这道题细节特别多。树链剖分入门把边权转到深度较深的点上,这样可以用树链剖分操作了操作路径的时候,两个点的LCALCALCA不能被改动和统计懒标记需要两个,且覆盖标记的优先级要高于加的标记,每次传递,修改覆盖标记,要把加标记清为零覆盖标记初始化为−1-1−1,因为可能会覆盖为零最好不要复制粘贴,有些地方未修改到,就很难查错单个树枝的修...原创 2019-01-24 13:26:19 · 162 阅读 · 0 评论 -
2019 第一试【迅雷】【Alice&Bob】【TJOI2015旅游】20190120
T1【TJOI2015旅游】WOJ 4322一道树链剖分,不过我还不会,就先跳过。T2【迅雷】WOJ 2876唯一 一道考场做出的题,确实有点水,看完题面,就大概知道是类似于kruskalkruskalkruskal的并查集做法。输入边,排序,从大到小看。如果电脑和资源器连通,就结束并输出当前这条边的长度。【注意每次合并都要把节点信息更新至祖先节点!!!还有别忘了正无穷...原创 2019-01-21 12:01:36 · 168 阅读 · 0 评论 -
【NOI2015】软件包管理器
【NOI2015】软件包管理器树链剖分的第二题,虽然抄了板子题不少,但还算简单吧。【注意是从000开始的哦】线段树和树链剖分的基本操作啦,就先这样吧。树链剖分入门#include<bits/stdc++.h>using namespace std;const int N=1e5+5;struct edge{int v,nxt;}e[N];int first...原创 2019-01-21 12:13:22 · 308 阅读 · 1 评论