
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 · 472 阅读 · 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 · 152 阅读 · 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 · 181 阅读 · 0 评论 -
P3379 【模板】最近公共祖先(LCA)
最近公共祖先 题目传送门 解题思路 这题就是LCA(Least Common Ancestors)最近公共祖先 LCA LCA:基于有根树最近公共祖先问题 在有根树T中,询问一个距离根最远的结点x,使得x同时为结点u、v的祖先,这个祖先节点即为lca。 同时lca一定是u、v路径上的点。 我们可以有这样一个思路,先让u、v中深度大的那个点先往上走,直到两点深度相同。然后一起往上走,知道两点相遇,这个点就是lca。 如果我们每次只走一步,显然单次查询lca复杂度为O(n)。那有没有在空间合适的条件下更好的算法原创 2020-08-23 20:17:32 · 274 阅读 · 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 · 222 阅读 · 0 评论