简单RMQ模板题 POJ 3264

POJ 3264:http://poj.org/problem?id=3264

题意:给N个数,无序。接下来Q次询问,询问一个区间 [L,R] 内的最大值 和 最小值 的差为多少。

 

使用Sparse-Table 方法,最简单的RMQ了。预处理 O(nlogn),查询速度 O(1)

两次ST,一个维护最大值,一个维护最小值,相减就好了。

 

上代码:

 

#include "stdio.h"
#include "cstring"
#include "algorithm"
using namespace std;
#define inf 50009
#define INF 999999999
#define ll long long
#define loop(x,y,z) for(x=y;x

 

 

 

 

 

你可能感兴趣的:(数据结构)