目录:
RMQ 问题
RMQ(Range Minimum/Maximum Query)问题是指:对于长度为 n 的数列 A,回答若干询问 RMQ (区间 [ l,r ] ) ,返回数列A中下标在 l , r 里的最小/大值,也就是说,RMQ 问题是指求区间最值的问题。
ST 表
st 表和线段树常被用来解决 RMQ 问题,两个各有优缺点:st 表运行效率高,但不能修改;线段树运行效率相对较慢,但支持修改操作。
st 表的合并复杂度为 O(1),构建复杂度为 O(n log n),查询复杂度是 O(1)。
st 表的核心要领在于倍增和 DP ,设区间左端点为 l ,长度为 ,求其区间最值。st 表的做法就是 DP 预处理出所有的区间最值,询问时直接输出。
其中 merge 为最值函数&#