摘要: 最简单的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] 阅读全文
posted @ 2014-01-22 17:02 acm_roll 阅读(220) 评论(0) 推荐(0) 编辑