
树链剖分
gigo_64
莫看,莫看,这不是真实的我(七海脸)
溜了溜了
展开
-
【树链剖分】【bzoj3694】最短路
仍然是权限qwq但我们还是有万能的woj!叶子最可爱了QAQ!首先,按照题目,我们得到了一棵最短路树。那么对于任何一条树边,在这个点上面任何一个点绕到此点下方的边都可能影响答案。那反过来,任何一条非树边,都只能影响两个点在树上的链上的点得答案。如果在lca之上,就不影响,手玩观察得出pwq所以更新答案为dis[x]+dis[y]+dis[x][y]-dis[u]对于...原创 2019-07-29 15:35:50 · 278 阅读 · 0 评论 -
关于树链剖分与线段树的一些感想
学习了树剖之后发现这真是一个打起来非常爽的算法。可以流畅的敲下dfs1,dfs2,build然后再加些奇奇怪怪的东西。不过还是有一些总结比如说1.线段树维护的是新序号而非dfs序。时刻记住涉及到线段树操作都要加一个id[…]。2.有初值的题可以在dfs2中的id[u]=++cnt后加入一个数组pre[cnt]=u;这样在build叶子节点时可以直接t[u].(维护值)=va...原创 2019-01-24 20:11:32 · 332 阅读 · 1 评论 -
浅谈树链剖分
是谁给我的勇气,让我在一道树链剖分都没写的情况下就来写博客?当然是xxx啦进入正题。按照我的理解,我们可以用dfs序处理很多问题,各种差分各种求和都可以,但是当我们遇到链加子树求和这种情况时,你会发现我们好像没有了时间复杂度优秀的手段。于是大佬们想出了树链剖分。定义一下:重边是一个结点的儿子中size(子树大小)最大的那个点与自己相连的边。重儿子就是一个节点最疼爱的儿子...原创 2018-12-09 10:38:16 · 122 阅读 · 0 评论 -
【LNOI2014】LCA【差分】【树剖】
叶子最可爱啦qwq!每次询问一个区间和一个点,求这个区间所有点和给定点的LCA的深度和。深度和是吧。LCA的深度和有一个很优良的性质。你把一个点到根的权值都+1,查另一个点到根的权值就是这个深度。那问题转化成了链加链求和。不过有q个询问哦。怎么办呢?很明显这个询问应该被去掉。我们不一个询问一个询问查询。我们直接从1号点开始加入贡献。对于一个询问,加到l-1时统计一下...原创 2019-10-10 17:01:38 · 142 阅读 · 0 评论