![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树链剖分
鹭天
敦立坤我是你爹
展开
-
【算法详解】 树链剖分
一、问题引入:1、给你一个序列,再给你一堆询问区间,对于每个询问区间,请你求区间内的最大值、累加和等等。对于这个问题,我们是早就做烂的了,线段树、树状数组等数据结构都能轻松求,这里不再详述。2、给你一棵树,再给你一堆询问,每次给你两个点,让你求两个点之间的路径中的点权最大值、点权和等等。对于这个问题,我们很显然不能再像问题111一样样直白的去做,因为树的路径与纯粹的区间不同。那我们能否用一个算法,将一棵树剖分成若干个区间(链),在用这些区间用111一样的方法去求的。是的,这个算法就叫做——树链原创 2020-08-16 19:50:23 · 359 阅读 · 0 评论 -
【金华集训 && 笔记】 Day 5 笔记——树链剖分
笔记树链剖分:顾名思义,就是对树的链不断地剖,不断地分。链的分类:1、重链剖分2、长链剖分重链剖分:每次从最重的儿子剖下去以sz[u]表示u的结点个数长链剖分:每次找最深的儿子剖下去为啥重链剖分比长链剖分好???如果对于一棵树,每个节点的儿子都很深长链剖分就可能会经过n\sqrt nn条链直接崩掉证明:重链剖分O(logn)O(logn)O(logn)对于每个...原创 2019-08-01 22:09:00 · 135 阅读 · 0 评论