Sparse Tabel名为稀疏表,又称为ST表,可以在O(1)的时间复杂度下完成查询区间最值,相比线段树和树状数
组,效率提升了不少.ST表本质上是一个很经典的dp,通过预处理完成O(1)的查询.既然是个dp,那我们来看下dp的
定义吧(下面以查询区间最大值为例).
dp[i][j]:表示以i为起点,长度为2^j的区间最值
那么我们很容易得出状态转移方程:...
分类:
其他好文 时间:
2015-02-03 13:25:50
阅读次数:
188
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1754线段树功能:update:单点替换 query:区间最值模板裸题。。。#pragma comment(linker,"/STACK:102400000,102400000")#include #in...
分类:
其他好文 时间:
2015-01-21 21:57:29
阅读次数:
185
change 单点修改query 区间最值 1 Program XJOI2321; 2 const maxn=200008; 3 var l,r,max:array[0..maxn*4] of longint; 4 i,m,n,ans,p,x:longint; 5 ch:char; ...
分类:
Web程序 时间:
2015-01-05 23:18:31
阅读次数:
244
二分果然是宇宙最强法则。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define MAXN 2222222 8 #define MAXM 11111 9 #define lch(x) x<...
分类:
其他好文 时间:
2014-12-20 00:34:47
阅读次数:
260
题意:令a[l..r]都+1,求a[1..n]的最大值裸的成段更新+区间最值,但是本题坐标范围很大(10^9),所以需要离散化顺便离散化模板get 1 #include 2 #include 3 #include 4 #include 5 6 #define lson l, m...
分类:
其他好文 时间:
2014-11-29 22:54:57
阅读次数:
246
题目:Codeforces 487B. Strip(#278Div.1 B题)
描述:将一个长度为n的数列划分成m个部分,要求每个部分含有的个数>=L,且每个部分最大值-最小值<=S,求满足上述两个条件情况下m的最小值。即划分区间个数最小
方法:线段树求区间最值,在线段树上进行动态规划,线段树懒操作
复杂度:O(nlogn),n为数列元素个数
此题所需方法巧妙,很有助于算法提高,有助于提高线段树基本写法...
分类:
其他好文 时间:
2014-11-23 09:18:55
阅读次数:
280
先说下我的代码风格(很丑,勿喷) maxn表示最大空间的四倍 tree数组表示求和的线段树 delta表示增减的增量标记 sign表示覆盖的标记 delta,sign实际上都是lazy标志 pushdown表示标记下传 pushup表示标记上传(即求和,区间最值) update表示...
分类:
其他好文 时间:
2014-10-27 17:23:11
阅读次数:
189
1. 概述
RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。
2.RMQ算法
对于该问题,最容易想到的解决方案是遍历,复杂度是O(n)。但当数据量非常大...
分类:
其他好文 时间:
2014-10-25 21:36:10
阅读次数:
218
区间最值。学了下 st算法,o(1)的查询,这个要比线段树犀利。而且线段树的log(n)前面的常数也比较大。#include#include#includeusing namespace std;int n, q;const int maxn = 111111;int dp[maxn][20];in...
分类:
其他好文 时间:
2014-10-11 14:33:05
阅读次数:
125
1.概述RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,jO(nlogn){for(int j = 1; j #include #include using namespace std;c...
分类:
其他好文 时间:
2014-10-09 23:36:27
阅读次数:
627