RMQ板子
来源:互联网 发布:tensorflow 教程 编辑:程序博客网 时间:2024/04/28 05:17
最近想学LCA。看了ST算法之后,发现其中是要用到RMQ的。虽然以前我专门练过RMQ,然而经过一段时间,时间已经将我的记忆消磨殆尽。看来我还是需要多加复习,否则之前学的东西都会忘掉了。
自己瞎编的RMQ板子:
//h==0:取[l,r]的最大值h==1:取[l,r]的最小值 #include<cstdio>#include<cmath>#include<cstring>#define max(a,b) a>b?a:b#define min(a,b) a<b?a:bint n,i,j,l,r,x,h;int a[10001];int f[10001][15];int ff[10001][15];main(){ scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); memset(ff,10,sizeof(ff)); for(i=1;i<=n;i++) { f[i][0]=a[i]; ff[i][0]=a[i]; } for(j=1;j<=log(n)/log(2);j++) for(i=1;i<=n+1-1<<j;i++) { f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]); ff[i][j]=min(ff[i][j-1],ff[i+(1<<(j-1))][j-1]); } scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d%d%d",&h,&l,&r); x=log(r-l+1)/log(2); if(h==0) printf("%d\n",max(f[l][x],f[r+1-(1<<x)][x])); else printf("%d\n",min(ff[l][x],ff[r+1-(1<<x)][x])); }}
0 0
- RMQ板子
- RMQ板子 求区间最大最小值
- vijos1514 天才的记忆(st表求rmq板子)
- 板子
- 板子
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- RMQ
- rmq
- RMQ
- RMQ
- RMQ
- Canada Cup 2016 C. Hidden Word 找规律、模拟、字符串
- NYOJ448 寻找最大数
- 卷积码维特比译码算法的FPGA实现(初步)
- 438. Find All Anagrams in a String
- LeetCode No.34 Search for a Range
- RMQ板子
- Hadoop中两表JOIN的处理方法
- test 11-8(Canceled) T2[递推 矩阵快速幂]
- javascript基础笔记(八)之js的全局变量和局部变量
- SpringAOP实现原理
- 【openjudge 矩阵模拟合集】 openjudge 07 12 14
- StreanUtil ,流转换为字符数组
- php操作数据库
- hdu 5187 快速乘方 快速乘法