ST表基础模板】的更多相关文章

ST表是用来求RMQ问题(求区间最大或最小值问题)的实用数据结构,支持\(O(nlog_n)\)建立,\(O(1)\)查询,是比较高效的结构 其原理实质上是DP(我最讨厌的东西) 题面:屠龙宝刀... 这是一道ST表经典题--静态区间最大值 请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1) 本题所需处理仔细琢磨琢磨就是DP,先完成范围小一些的任务,然后再进行状态转移 转移方程(就是完成左右两区间处理后合并): \(f_{i,j}=max(f_{i,j-1},…
void RMQ_init(){//ST表的创建模板 ;i<n;i++) d[i][]=mo[i]; ;(<<j)<=n;j++) ;i+(<<j)-<n;i++){ d[i][j]=min(d[i][j-],d[i+(<<(j-))][j-]); } } int RMQ_min(int L,int R){//区间最小.大值 ; <<(k+))<=R-L+) k++; <<k)+][k]); } //应用条件:不能修改!…
Glad You Came Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1489    Accepted Submission(s): 629 Problem Description Steve has an integer array a of length n (1-based). He assigned all the e…
题目背景 这是一道ST表经典题——静态区间最大值 请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1) O(1) 题目描述 给定一个长度为 N N 的数列,和 M M 次询问,求出每一次询问的区间内数字的最大值. 输入输出格式 输入格式: 第一行包含两个整数 N, M N,M ,分别表示数列的长度和询问的个数. 第二行包含 N 个整数,依次表示数列的第 i 项. 接下来 M 行,每行包含两个整数 表示查询的区间 输出格式: 输出包含 M M 行,每行一个整数,依…
跟忠诚是一样滴,不过是把min改成max就AC了.模板题. #include <cstdio> #include <algorithm> using namespace std; ; ], a[maxn], ans[maxn]; int i, j, n, m, left, right; int main() { scanf("%d%d", &n, &m); ; i <= n; i++) { scanf("%d", &am…
The Water Problem HDU - 5443 「 第一部分nlogn预处理   第二部分O(1)询问 」 #include <iostream> #include <bits/stdc++.h> using namespace std; const int maxn = 1000004; int f[maxn][20]; int a[maxn]; int n,q; void st() { for(int i = 1; i <= n; i ++) f[i][0] =…
嗯... 题目链接:https://www.luogu.com.cn/problem/P3865 ST(Sparse Table)算法,运用了倍增的思想. 我们令f[i][k]数组表示区间[i, i + 2^k - 1]中的最小值. 显然有递推式: f[i][]=a[i]; f[i][j]=max(f[i][j-],f[i+(<<(j-))][j-]; 查询时: 区间[l, r],求出k=log2(r-l+1).于是可以用f[l][k]和f[r–2^j+1][j]来覆盖这个区间,得到最大值也即…
链接:https://www.nowcoder.com/acm/contest/82/B来源:牛客网 时间限制:C/C++ 7秒,其他语言14秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给你一个长为n的序列a和一个常数k 有m次询问,每次查询一个区间[l,r]内所有数最少分成多少个连续段,使得每段的和都 <= k 如果这一次查询无解,输出"Chtholly" 输入描述: 第一行三个数n,m,k第二行n个数…
给定一个长度为 \(N\) 的数列,和 \(M\) 次询问,求出每一次询问的区间\([l,r]\)内数字的最大值. 说明 对于30%的数据,满足: \(1 \leq N, M \leq 10 , 1≤N,M≤10\) 对于70%的数据,满足: \(1 \leq N, M \leq {10}^5 , 1≤N,M≤10^5\) 对于100%的数据,满足: \(1 \leq N \leq {10}^5, 1 \leq M \leq {10}^6, a_i \in [0, {10}^9], 1 \leq…
P3865 [模板]ST表 https://www.luogu.org/problemnew/show/P3865 题目背景 这是一道ST表经典题——静态区间最大值 请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1)O(1) 题目描述 给定一个长度为 NN 的数列,和 MM 次询问,求出每一次询问的区间内数字的最大值. 输入输出格式 输入格式: 第一行包含两个整数 N, MN,M ,分别表示数列的长度和询问的个数. 第二行包含 NN 个整数(记为 a_iai​…