RMQ RMQ(range min/max query)区间最值查询算法。经典场景:给定一个数组A[1...N],有N个数字。查询区间[l,r],求该区间的最大/最小值。常规方法是对[l,r]进行遍历,复杂度O(n)。当查询次数K巨大时,性能会很差。RMQ算法需要nlogn时间进行预处理,之后以O(1)时间响应查询。(当然还可以使用线段树) 原理 使用二维数组dp,dp[i][j]表示从第i位开始连续2^j个数中的最值。例如dp[2][1]就是第二个数开始连续两个数的最值(A[2],A[3]),dp[i][0]表示第i个数本身。求解dp[i][j]时,我们知道共2^j个数,必定是2的次幂,根据...