#|luogu P3865 【模板】ST表
题目传送门:https://www.luogu.org/problemnew/show/P3865
题意:
有n个正整数,m次询问,每一次询问有x,y,求x到y区间的最大值。
【#|luogu P3865 【模板】ST表】
思路:
ST表(RMQ)模板。倍增思想:每次一求出区间为1,2,4,8,16……的最大值,最后合并。
代码:
#include
#include
#include
using namespace std;
int f[200000][20];
//f[i][j]表示从i到i+(j<<1)的区间最大值
int n,m;
int main()
{
int x,y;
scanf("%d %d",&n,&m);
for(int i=1;
i<=n;
i++)
{
scanf("%d",&x);
f[i][0]=x;
}
int p=log2(n);
for(int j=1;
j<=p;
j++)
for(int i=1;
i<=n-(1<
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 宽容谁
- 我要做大厨
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘
- 学无止境,人生还很长