社区讨论
49分求调
P3865【模板】ST 表 & RMQ 问题参与者 4已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @loyds5az
- 此快照首次捕获于
- 2023/11/14 21:40 2 年前
- 此快照最后确认于
- 2023/11/15 08:25 2 年前
以下是代码QWQ
CPP#include<bits/stdc++.h>
using namespace std;
int n,m,a[2000005][30],logs[2000005];
void pre()
{
logs[1]=0;
logs[2]=1;
for(int i=3;i<=n;i++)
{
logs[i]=logs[i/2]+1;
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i][0];
}
pre();
for(int j=1;j<=30;j++)
{
for(int i=1;i+(1 << j )-1<=n;i++)
{
a[i][j]=max(a[i][j-1],a[i+(1 << (j-1) )][j-1]);
}
}
for(int i=1;i<=m;i++)
{
int u,v;
cin>>u>>v;
int s=logs[v-u+1];
cout<<max(a[u][s],a[v-(1 << s)+1][s])<<endl;
}
return 0;
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...