树链剖分
gigo_64
莫看,莫看,这不是真实的我(七海脸)
溜了溜了
展开
-
【树链剖分】【bzoj3694】最短路
仍然是权限qwq 但我们还是有万能的woj! 叶子最可爱了QAQ! 首先,按照题目,我们得到了一棵最短路树。 那么对于任何一条树边,在这个点上面任何一个点绕到此点下方的边都可能影响答案。 那反过来,任何一条非树边,都只能影响两个点在树上的链上的点得答案。 如果在lca之上,就不影响,手玩观察得出pwq 所以更新答案为dis[x]+dis[y]+dis[x][y]-dis[u] 对于...原创 2019-07-29 15:35:50 · 261 阅读 · 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 · 319 阅读 · 1 评论 -
浅谈树链剖分
是谁给我的勇气,让我在一道树链剖分都没写的情况下就来写博客? 当然是xxx啦 进入正题。 按照我的理解,我们可以用dfs序处理很多问题,各种差分各种求和都可以,但是当我们遇到链加子树求和这种情况时,你会发现我们好像没有了时间复杂度优秀的手段。 于是大佬们想出了树链剖分。 定义一下: 重边是一个结点的儿子中size(子树大小)最大的那个点与自己相连的边。 重儿子就是一个节点最疼爱的儿子...原创 2018-12-09 10:38:16 · 110 阅读 · 0 评论 -
【LNOI2014】LCA【差分】【树剖】
叶子最可爱啦qwq! 每次询问一个区间和一个点,求这个区间所有点和给定点的LCA的深度和。 深度和是吧。 LCA的深度和有一个很优良的性质。你把一个点到根的权值都+1,查另一个点到根的权值就是这个深度。 那问题转化成了链加链求和。 不过有q个询问哦。怎么办呢? 很明显这个询问应该被去掉。 我们不一个询问一个询问查询。 我们直接从1号点开始加入贡献。对于一个询问,加到l-1时统计一下...原创 2019-10-10 17:01:38 · 129 阅读 · 0 评论