RMQ算法
来源:互联网 发布:js刷新页面 编辑:程序博客网 时间:2024/06/03 14:32
#define N 50005int maxn[N][32];//maxn[i][j]:记录区间[i,(i+(1<<j)-1)]的最值int a[N];void ST(int n)//预处理,复杂度nlog(n){for(int i=1;i<=n;i++)maxn[i][0]=a[i];int k=log(n)/log(2);//k=log(n)/log(m)=>m^k=nfor(int j=1;j<=k;j++)for(int i=1;i<n;i++)if(i+(1<<j)-1<=n)maxn[i][j]=max(maxn[i][j-1],maxn[i+(1<<(j-1))][j-1]);//递推式else break;}int getMax(int a,int b)//查询,O(1){int k=log(b-a+1)/log(2);return max(maxn[a][k],maxn[b-(1<<k)+1][k]);}
阅读全文
0 0
- 【RMQ】RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- rmq算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- RMQ算法
- C++泛型编程入门
- 策略模式--条条大路通罗马(行为模式07)
- Linux+ ubuntu + 阿里云 + apache WebServer WEB服务器搭建
- Android的事件处理之基于监听的事件处理
- 前端开发中关于浏览器兼容性的部分问题
- RMQ算法
- 系统设计二之实例门户网站
- 自然抠图算法:以经典的贝叶斯抠图为例(Bayesian Matting)
- leetcode283题解
- qwb去面试 思路+代码
- Spring Boot 使用json框架fastjson
- 84 C语言带参宏定义和函数的区别
- c语言中,关于延迟函数的理解
- 拓扑排序