摘要:
最简单的RMQ问题,这次改用ST算法来写,存下来当模板吧。ST算法通过nlogn的时间(也可以是O(n))预处理出d[i][j](起始位置为i长度为2^(j-1))区间的内的最值,递推式:d[i][j] = min(d[i][j-1],d[I+2^(j-1][j-1])查询的时候先找到一个k有2^(k+1)>(R-L+1)然后可得minv(L,R)=min(d[L][K],d[R-(1#include #include #include using namespace std;const int maxn = 50001;int minv[maxn][20],maxv[maxn][20] 阅读全文