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 ;
}

最新文章

  1. 基于PHP生成静态页的实现方法
  2. 程序员之路:以Android证道
  3. poj 2421 Constructing Roads 解题报告
  4. (一)win7下cocos2d-x 21 + vs2010
  5. Java面试必备知识
  6. Shell Script Tutorials (0 ~ 62)
  7. berserkJS(大名:狂暴JS / 昵称:疯子JS)
  8. GWT中实现跳转及不同entrypoint怎么互相访问
  9. MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用
  10. LPC1758串口ISP下载程序
  11. WPF事件,路由事件
  12. Android 动画深入分析
  13. Uri API
  14. 认识Linux分区
  15. 20175209 《Java程序设计》第三周学习总结
  16. Jmeter之https脚本录制
  17. Go Example--json
  18. [原创]自定义参数静默方式安装JDK1.8
  19. JavaWeb下载文件response
  20. SpringCloud微服务部署

热门文章

  1. vtkAnimationCue、vtkCommand和vtkAVIWriter
  2. MVVM开发模式简单实例MVVM Demo【续】
  3. [Linux] Linux指令汇总(持续更新中...)
  4. 《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE
  5. 【Go入门教程4】struct类型(struct的匿名字段)
  6. Linux如何查看文件系统(磁盘使用情况)
  7. ssh框架整合-NoClassDefFoundError-NoSuchMethodError-遁地龙卷风
  8. poj 1239
  9. Java中的BoneCP数据库连接池用法
  10. linux git安装及配置(包括更新)