浅谈树上倍增

浅谈树上倍增

本篇随笔浅谈一下树上倍增。


一、倍增的概念

关于倍增的概念,蒟蒻有专门的博客讲解:

浅谈倍增


二、树上倍增的概念

有人会说,树上倍增也没有递推啊,啥叫树上倍增啊。

树上倍增一般是优化枚举位置。

比如对于一棵树的链上统计操作。对于任意两点间的链路径,暴力统计的话会一个点一个点地遍历,但是如果我们使用树上倍增的话,就可以成2的整数次幂来遍历。大大降低了复杂度。

和倍增相同,树上倍增也是运用了类似动态规划的思想。

设置\(f[i][j]\)表示\(i\)与它的\(2^j\)祖先上的路径上需要维护的信息。然后在维护的时候进行和倍增一样的转移即可。

树上倍增的经典应用是求LCA。

具体模板可见:

倍增求LCA

posted @ 2020-10-24 10:35  Seaway-Fu  阅读(476)  评论(0编辑  收藏  举报