倍增-RMQ问题Sparse-Table算法
2024-10-06 22:10:45
提示
code:
#include<bits/stdc++.h>
#define ll long long
#define inf 0x7fffffff
using namespace std;
int n,m;
#define maxn 100008
int d[maxn][];
int a[maxn];
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=;i<=n;i++)d[i][]=a[i];
for(int j=;(<<j)<=n;j++)
{
for(int i=;i+(<<j)-<=n;i++)
{
d[i][j]=max(d[i][j-],d[i+(<<(j-))][j-]);
}
}
for(int i=;i<=m;i++)
{
int k=;
int l,r;
scanf("%d%d",&l,&r);
while(<<(k+)<=(r-l+))k++;
printf("%d\n",max(d[l][k],d[r-(<<k)+][k]));
} return ;
}
最新文章
- linux 时间同步
- jquery笔记(效果)
- Java--类的使用
- 使用Flask-Migrate进行管理数据库升级
- JavaEE基础(八)
- centos6.4搭建基于ftp的yum源让本地局域网服务器使用
- HDU 1754 I Hate It (线段树 单点更新)
- Centos6.5升级gcc for qt5.3.1
- gridview动态添加行(不用datatable实现)
- python基础-------函数(二)
- 学习cordic算法所得(流水线结构、Verilog标准)
- MySQL基本语句与经典习题
- oracle12c
- 关于margin padding
- PAT 乙级 1020 月饼 (25) C++版
- byte[],bitmap,drawable之间的相互转换
- ASP.NET Web Pages:目录
- Makefile 中:= ?= += =的区别【转】
- stark - 增、删、改
- lintcode-81-数据流中位数
热门文章
- apidoc 接口文档系统
- 前端知识点回顾——Javascript篇(六)
- SpringCloud(1)----基于RestTemplate微服务项目
- 在 bat 批处理中运行多次 mvn
- linux安装jdk1.8之后报错Error: dl failure on line 893的解决办法
- hibernate关联总结
- 14 statefulset (sts)控制器
- python中requests.session的妙用
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
- redis 超时失效key 的监听触发使用