众所周知,CSP-S 2021 初赛阅读程序题出了四毛子算法。
四毛子算法最广为人知的用途就是优化 \(LCA,RMQ,LA\) 这三大问题了。
虽然说功能强大,但是写起来比较繁琐,所以说这里就只解释原理,不写代码了(口 胡)。
预备知识:分块,以及 \(LCA,RMQ,LA\) 的经典做法(倍增/树剖,ST表,长剖)。
1. 加减1RMQ
首先我们来讨论一个简单的问题:加减1RMQ。
加减1RMQ也是RMQ问题,不过有特殊的性质:原序列的差分序列中只有 \(1\) 和 \(-1\)。
利用 Method of Four Russians