#2309. 【模板】ST表-RMQ问题

【模板】ST表-RMQ问题

题目背景

STST(Sparse Table,稀疏表)算法采用了倍增思想,在OO(nlogn)(nlogn)时间构造一个二维表之后,可以在O(1)O(1)时间在线查询[l,r][l, r]区间的最值,有效解决在线RMQRMQRangeMinimum/MaximumQueryRange Minimum/Maximum Query,区间最值查询)问题。

题目描述

输入一串数字,给你 MM 个询问,每次询问就给你两个数字 XX, YY,要求你说出 XXYY 这段区间内的最大数。

输入格式

第一行两个整数 NN,MM 表示数字的个数和要询问的次数; 接下来一行为 NN 个数; 接下来 MM 行,每行都有两个整数 X,YX,Y

输出格式

输出共 MM 行,每行输出一个数。

样例数据

10 2
3 2 4 5 6 8 1 2 9 7
1 4
3 8
5
8

数据范围与提示

对于100% 100\% 数据,1N105,1M106,1XYN1\le N\le 10^5,1\le M\le 10^6,1\le X\le Y\le N

数字不超过 C/C++int 范围。