ST表与线段树相比,这是静态的,无法改动,但是他的查询速度比线段树要快,这是牺牲空间换时间的算法。

O(nlogn)预处理,O(1)查询。空间O(nlogn)。

int d[][];
int mn[];
void rmq_init()
{
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]=min(d[i][j-],d[i+(<<(j-))][j-]);
for(int len=;len<=n;++len){
int k=;
while((<<(k+))<=len)
k++;
mn[len]=k;
}
}
int rmq(int L,int R)
{
int k=mn[R-L+];
return min(d[L][k],d[R-(<<k)+][k]);
}

最新文章

  1. CentOS7清理yum缓存和释放内存方法
  2. (SenchaTouch+PhoneGap)开发笔记(1)开发环境搭建一
  3. React Native填坑之旅--Navigation篇
  4. jsp_数据库的连接
  5. 严重: Exception starting filter struts2解决方法!
  6. c#网页爬虫初探
  7. spark 学习
  8. C#.Net中的转义字符
  9. 阿里云至 Windows Azure 的 Linux 虚拟机迁移
  10. 用Robocod游戏来学习JAVA
  11. jqGrid的搜索框下拉
  12. Android学习笔记-EditText(输入框)(二)
  13. 【GISer&amp;&amp;Painter】GISer
  14. ElasticSearch安装中遇到的一些问题
  15. 【洛谷1541】【CJOJ1087】【NOIP2010】乌龟棋
  16. NOIWC2018游记
  17. Hadoop基本知识,(以及MR编程原理)
  18. MVC Ajax上传文件
  19. CSS代码片段
  20. 20180706001 - 动态添加 tabPage

热门文章

  1. 转载-你应该知道的 RPC 原理
  2. Android键盘属性
  3. JavaScript中数值和对象
  4. Windows版本Apache+php的Xhprof应用
  5. PHP算法
  6. dedecms出错此问题:Cannot_modify_header_information_-_headers_already_sent_by_(output_started_at
  7. Windows Live Writer 使用指南
  8. R: 常用操作:
  9. 孕妇的孕周和体重对胎儿游离DNA在母体cfDNA占比的影响
  10. 十天入门java教程 Day01