RMQ st算法 区间最值模板
Posted asdic
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RMQ st算法 区间最值模板相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h> const int N=1e6+5; const int Logn=20; int f[N][Logn],a[N],lg[N],n,m; int main(){ cin>>n>>m; rep(i,1,n) cin>>a[i]; lg[0]=-1; rep(i,1,n) fa[i][0]=a[i],lg[i]=lg[i>>1]+1; rep(j,1,Logn) for(int i=1;i+(1<<j)-1<=n;i++) f[i][j]=max(f[i][j-1],f[i+(1<<j-1)][j-1]); while(m--){ int x,y;cin>>x>>y; int k=lg[y-x+1]; printf("%d ",max(f[x][k],f[y-(1<<k)+1][k]));} return 0; }
以上是关于RMQ st算法 区间最值模板的主要内容,如果未能解决你的问题,请参考以下文章