社区讨论
24pts RE 求调
P3865【模板】ST 表 & RMQ 问题参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo1p231r
- 此快照首次捕获于
- 2023/10/23 00:39 2 年前
- 此快照最后确认于
- 2023/11/03 01:20 2 年前
CPP
#include<bits/stdc++.h>
#define int long long
#define N 114514
using namespace std;
inline int read()
{
int n=0,f=1;
char c=getchar();
while(c<'0' || c>'9')
{
if(c=='-') f=-1;
c=getchar();
}
while(c>='0' && c<='9') n=(n<<3)+(n<<1)+(c^48),c=getchar();
return n*f;
}
inline void write(int x)
{
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10^48);
return;
}
int st[505][505];
signed main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,m,i,j;
n=read(),m=read();
for(i=1;i<=n;i++) st[i][0]=read();
for(i=1;i<=21;i++) for(j=1;j+(1<<i)-1<=n;j++) st[j][i]=max(st[j][i-1],st[j+(1<<(i-1))][i-1]);
while(m--)
{
int l=read(),r=read(),len;
len=log2(r-l+1);
write(max(st[l][len],st[r-(1<<len)+1][len])),puts("");
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...