![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ST表
SSL_LKJ
蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名
展开
-
与众不同(RMQ问题)(ST表)
与众不同解题思路RMQ+ST表AC代码#include<iostream>#include<cstdio>#include<cmath>using namespace std;int n,m,a[200005],pre[200005],last[2000005],f[200005][60];void RMQ()//求区间最大值{ for(int j=1;j<=log2(n);j++) for(int i=1;i+(1<<j)-原创 2021-07-07 21:15:03 · 378 阅读 · 0 评论 -
静态区间(RMQ问题)(st表)
静态区间解题思路这题和数列区间(RMQ问题)(st表)很像更改max为gcd即可AC代码#include<cstdio>#include<iostream>using namespace std;int n,m,Log[100005],f[100005][30];int gcd(int x,int y)//求最大公因数{ while(y) { int z=y; y=x%y; x=z; } return x;}void Getlog()//原创 2021-06-13 10:49:52 · 115 阅读 · 0 评论 -
数列区间(RMQ问题)(st表)
数列区间解题思路这题就是典型的RMQ模板题AC代码#include<cstdio>#include<iostream>using namespace std;int n,m,Log[100005],f[100005][30];void Getlog()//log预处理{ Log[0]=-1; for(int i=1;i<=n;i++) Log[i]=Log[i>>1]+1;}void RMQ()//st表预处理{ for(int原创 2021-06-13 10:44:09 · 148 阅读 · 0 评论 -
P3379 【模板】最近公共祖先(LCA)
最近公共祖先题目传送门解题思路这题就是LCA(Least Common Ancestors)最近公共祖先LCALCA:基于有根树最近公共祖先问题 在有根树T中,询问一个距离根最远的结点x,使得x同时为结点u、v的祖先,这个祖先节点即为lca。 同时lca一定是u、v路径上的点。我们可以有这样一个思路,先让u、v中深度大的那个点先往上走,直到两点深度相同。然后一起往上走,知道两点相遇,这个点就是lca。 如果我们每次只走一步,显然单次查询lca复杂度为O(n)。那有没有在空间合适的条件下更好的算法原创 2020-08-23 20:17:32 · 236 阅读 · 0 评论 -
P3865 【模板】ST表(ST表)
ST表题目传送门解题思路这题就是ST表我们设f[i][j]表示以i为左端点,长度为2^j的区间的最小值(最大值等)。 以最小值为例,显然可以有递推式f[i][j]=a[i](j=0) f[i][j]=a[i] (j=0)f[i][j]=a[i](j=0) f[i][j]=m(f[i][j−1],f[i+2(j−1)][j−1])(j>0) f[i][j]=m(f[i][j-1],f[i+2^(j-1)][j-1]) (j>0)f[i][j]=m(f[i][j−1],f[i+2(j原创 2020-08-23 20:31:57 · 197 阅读 · 0 评论