RMQ
来源:互联网 发布:烧烤火锅一体锅 知乎 编辑:程序博客网 时间:2024/06/02 06:17
#include<iostream>#include<cstdio>#define MAXN 100005using namespace std;int n,m;long long a[MAXN],d[MAXN][18];inline int read (){ int n=0; char ch=getchar(); while(ch<'0'||ch>'9') ch=getchar(); while(ch>='0'&&ch<='9') { n=n*10+ch-'0'; ch=getchar(); } return n;}inline void RMQ_pre(){ for(int i=1;i<=n;i++) { d[i][0]=read(); } for(int j=1;(1<<j)<=n;j++)//(1<<j)<=n for(int i=1;i+(1<<j)-1<=n;i++)//i+(1<<j)-1<=n d[i][j]=max(d[i][j-1],d[i+(1<<(j-1))][j-1]);} inline int RMQ(int l,int r){ int k=0; while((1<<k)<=r-l+1) k++; k--; return max(d[l][k],d[r-(1<<k)+1][k]);}int main(){ n=read(); m=read(); RMQ_pre(); for(int i=1;i<=m;i++) { int l=read(),r=read(); printf("%d\n",RMQ(l,r)); } return 0;}
阅读全文
0 0
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- rmq
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- 小朋友学C语言(4):单精度浮点数与双精度浮点数
- merge, datime64
- 小朋友学C语言(5):常量和变量
- 添加数据传表格
- IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 616
- RMQ
- QT标准输入对话框
- EDU2602
- 小朋友学C语言(6):加法
- GitLab 之 Git LFS 大文件存储的配置
- 怎样进行文献调研--整理自学术讲座
- 常用正则表达式
- ionic_选项卡
- 小朋友学C语言(7):自定义函数