rmq
John159151
这个作者很懒,什么都没留下…
展开
-
hdu3183 RMQ模板 复杂度O(nlogn)
http://acm.hdu.edu.cn/showproblem.php?pid=3183 题意:对于一个序列num[1...n],一共n个数,除去m个数使剩下的数组成的整数最小。 解题思路: 用RMQ求剩下的n-m个数,第1个数肯定在区间[1,m+1]中最小的那个数(下标为index),那么第2个数就在区间[index+1,index+1+m-(index-1)]中,从而求出剩下的n-m原创 2014-02-18 00:53:09 · 1525 阅读 · 0 评论 -
约束RMQ(±1RMQ算法)(复杂度O(n))
约束RMQ的解法 现在仍旧用A[0,N-1]表示问题中的数列,这里有|A[i]-A[i-1]|=1(i=1,2,...,N-1)成立。 将A分解为长度为l=[(log N)/2]的块。设A'[i]为第i块中的最小值,B[i]为该最小值的位置。A'[i]和B[i]的长度均为N/l, 所以用ST算法处理A'数组的时空复杂度均为O(N/l*log(N/l))=O(N/logN*(logN-logl)原创 2014-02-18 15:20:19 · 5189 阅读 · 0 评论