树链剖分小结及题目

本文详细介绍了树链剖分的概念、实现步骤及其在解决树上最值查询、区间更新等问题中的应用。通过树链剖分,可以将树结构转化为线段树等数据结构可处理的形式,从而优化复杂度。文章列举了多个经典题目,包括基于点权和边权的更新查询,以及LCIS等复杂问题,展示了树链剖分在解决树形结构问题上的强大能力。
摘要由CSDN通过智能技术生成

树链剖分小结及题目

         我们经常会遇到这样一类题目:给出一棵树,询问树上u,v两点路径间的最值,合值,更新uv路径上的点权或边权,或者区间更新etc,此时如果单纯的用线段树或者树状数组去搞,很明显问题不能够得到完美解决,此时就需要更高级的数据结构去对树进行重新构造,也就是通常说的树链剖分。

一.树链剖分

        树链剖分,顾名思义,也就是对树的每一条链进行剖分,将一棵树拆分成若干条链,对其进行重新编号,在进行了重新编号之后就可以用其他数据结构(线段树,树状数组,etc)去对数据进行有序化处理,这也就是说,大部分情况下,树链剖分是在为其他数据结构“打辅助”,和其他数据结构搭配起来使用才能更充分发挥它的作用。

剖树

首先我们引入一些新的符号标记和一些概念

 

siz[i]:i
son[i]:isiz
D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值