NOIP前瞎扯 涨RP?
一下内容都是瞎扯,可以跳过。
倍增是一种非常好的技巧
尤其是一些不带修改的题
对于一个操作@
如果@满足a@a=a
那么就可以使用稀疏表的思想O(1)维护@操作
例如区间最大最小经典的静态RMQ问题
区间静态gcd问题
区间取or,区间取and
但是想加法,减法还有xor这种不满足a@a=a
我们也可以倍增处理
先预处理之后
能在log复杂度内求倍增求区间加法,区间xor
当然其实最快的方法是前缀和,前缀和是O(1)的
不过对于a@a=a并且不支持逆元的,用倍增维护比较快
倍增还用来求LCA 太常见了
倍增还可以写二分,查询序列某数是否存在
感觉有点像某种意义上牛蹲迭代法弱化版