RMQ 数据结构
2024-08-31 01:45:42
RMQ 常用的数据结构之一
直接上代码 马克好来 是个好板子
#include <stdio.h>
#define min(a,b) a<b ? a : b int arr[],d[][];
void RMQ(int n)
{
for(int i=; i<n; i++) d[i][]=arr[i];
for(int j=; (<<j)<=n; j++)
for(int i=; i+(<<j)-<n; i++)
d[i][j] = min(d[i][j-],d[i+(<<(j-))][j-]);
}
int SRMQ(int l,int r)
{
int k=;
while((<<(k+)) <= r-l+) k++;
return min(d[l][k],d[r-(<<k)+][k]);
}
int main()
{
int n,q,l,r;
while(~scanf("%d",&n))
{
for(int i=; i<n; i++)
scanf("%d",arr+i);
RMQ(n);
scanf("%d",&q);
while(q--)
{
scanf("%d%d",&l,&r);
printf("%d\n",SRMQ(l,r));
}
}
return ;
}
最新文章
- 基于PHP生成静态页的实现方法
- 程序员之路:以Android证道
- poj 2421 Constructing Roads 解题报告
- (一)win7下cocos2d-x 21 + vs2010
- Java面试必备知识
- Shell Script Tutorials (0 ~ 62)
- berserkJS(大名:狂暴JS / 昵称:疯子JS)
- GWT中实现跳转及不同entrypoint怎么互相访问
- MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用
- LPC1758串口ISP下载程序
- WPF事件,路由事件
- Android 动画深入分析
- Uri API
- 认识Linux分区
- 20175209 《Java程序设计》第三周学习总结
- Jmeter之https脚本录制
- Go Example--json
- [原创]自定义参数静默方式安装JDK1.8
- JavaWeb下载文件response
- SpringCloud微服务部署
热门文章
- vtkAnimationCue、vtkCommand和vtkAVIWriter
- MVVM开发模式简单实例MVVM Demo【续】
- [Linux] Linux指令汇总(持续更新中...)
- 《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE
- 【Go入门教程4】struct类型(struct的匿名字段)
- Linux如何查看文件系统(磁盘使用情况)
- ssh框架整合-NoClassDefFoundError-NoSuchMethodError-遁地龙卷风
- poj 1239
- Java中的BoneCP数据库连接池用法
- linux git安装及配置(包括更新)