写这篇博客是因为做某一题的时候用到了倍增法,发现了倍增法的强大之处。
https://www.lydsy.com/JudgeOnline/problem.php?id=4568
意思不麻烦,2e4个点有点权,组成一棵树,2e5个询问,问u到v路径上的点组成的线性基可获得的
最大元素是什么。
我用倍增法做得,后来想想树链剖分+线段树应该也可以
谈到倍增法的好处,就是它:记录(建树)是Onlogn的,查询也是Onlogn的
并且还可以方便地记录树上的长段信息
这样貌似很多问题都可以用倍增法解决了,比如这次的线性基
再比如要查询任意路径长度?(这不也是树链剖分的基本操作嘛)
不过好像倍增法不容易修改,貌似倍增法=树状数组 树链剖分=线段树