原文:长链剖分学习笔记

长链剖分学习笔记 简介 长链剖分也是一种树链剖分,平时我们说树链剖分,一般都是直接默认为轻重链剖分。 轻重链剖分的优秀性质在于从任意一个点开始,向上跳跃,跳过的重链数量不会超过 log 级别。 这样子可以很优秀的解决两点之间链的问题。 对于解决一些子树的信息问题,我们可以用 dsu on tree 的思路,保证了每个点向上修改的次数不超过 log 次,也可以很方便的解决一些问题。而长链剖分则是通过 ...

2018-08-15 07:58 8 2810 推荐指数:

查看详情

这是和重(dsu on tree,http://www.cnblogs.com/zzqsblog/p/6146916.html)一类的trick,不过它的适用范围与dsu on tree不同,它适用于涉及到深度的查询。 例1 k-th ancestor query https ...

Thu Apr 13 01:00:00 CST 2017 4 3841
随想

  之前写了那么一篇Blog…现在不如写篇小短文…说一下另一种树方法——的事情。它可以比重更快地完成一些东西。   树的原始版本重非常经典,这里就不从头介绍了。   原本的方法是按照子树大小,与子树点数最多的儿子连成,所以叫做重…然后显然就有 ...

Thu Feb 16 05:40:00 CST 2017 3 2564
总结

是一种类似\(\mbox{dsu on tree}\)的小\(\mbox{trick}\),可以把维护子树中只与深度有关的信息做到线性的时间复杂度。 实现方式&复杂度证明 对每个点寻找深度最大的儿子作为重儿子,其余作为轻儿子。由此得到了若干条互不相交的。 在维护 ...

Mon Aug 13 23:50:00 CST 2018 5 5856
总结

总结 概念 和轻重相似,都是将一棵树节点的信息分成多条的信息,但是前者是以深度,后者则是以子树大小来。 同时长还借鉴了$dsu\;on\;tree$的一些$trick$使得它能十高效地合并子树信息。 性质 破天荒地写了证明 性质 ...

Sun Jan 06 21:48:00 CST 2019 6 316
讲解及总结(重+)

  树是解决树上问题的一种常见数据结构,对于树上路径修改及路径信息查询等问题有着较优的复杂度。树分分为两种:重,因为不常见,应用也不广泛,所以通常说的树分指的是重。在这里讲解并总结一下树的实现、优秀性质及应用。 重 先来介绍几个重 ...

Fri Sep 07 03:52:00 CST 2018 2 2725
笔记:树 之 轻重

Step 0-介绍 在之前线段树的学习中,我们知道了如何对一个区间进行快速修改。 同样我们可以在树上进行快速修改(什么脑回路),完成以下几个操作: 修改树上两点之间的路径上所有点的值。 查询树上两点之间的路径上节点权值的和/极值/其它(在序列上可以用数据结构维护,便于合并 ...

Wed Nov 04 00:40:00 CST 2020 13 113
(轻重)算法笔记

仔细想想 自己第一次听说这个这个数据结构大概有两年半的时间了 然而一直不会. 不过现在再回头来看 发现其实也不是很麻烦 首先 在学树分之前最好先把$LCA$ 树形$DP$ 以及$dfs$序 这三个知识点学了 如果这三个知识点没掌握好的话 树难以理解也是当然的 ------------------------------------------------------------- ...

Tue Jul 12 00:43:00 CST 2016 0 7392
(轻重)算法笔记

吗?不会,欢迎点击暂无 我想,身为巨佬的你肯定会. 既然巨佬你会DFS序,会线段树.那么接下来的树,你 ...

Wed Jul 24 06:51:00 CST 2019 2 347
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM