以前也没怎么听过这个算法,网络赛中有个题好像是什么最近公共祖先,看了一下这个算法,是一个动态规划,核心思想是倍增. 用途:解决rmq问题,例如给一个序列{an},询问是任意一个区间(l,r)中最小的数或者最大的数. 时间复杂度:预处理的时间是O(nlogn) 查询:O(1) 局限性:只能处...
分类:
其他好文 时间:
2014-10-09 01:34:57
阅读次数:
177
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=23846题目大意:给定一个升序序列,有q次询问,每次询问(L,R)出现最多的值的次数。解题思路:非常麻烦的题目。尽管一眼就能看出来是个RMQ。关键在于如何转化为RMQ。...
分类:
其他好文 时间:
2014-10-03 20:45:05
阅读次数:
194
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=47319题目大意:给定一个序列,要求确定一个子序列,①使得该子序列中所有值都能被其中一个值整除,②且子序列范围尽可能大(r-l尽可能大)。解题思路:对于要求1,不难发...
分类:
其他好文 时间:
2014-10-03 16:33:14
阅读次数:
215
题意:
给一串数,找出最长的区间使得这个区间里面有个数能被其他所有数整除(包括它自己),求满足这个条件的最长区间的个数及长度,以及这些区间的左端的位置
分析:
这个区间的要求其实就是GCD(ALL)=MIN(ALL),能被其他数整除,这个数肯定是最小的,然后又能被其他数整除(包括自己)这个数就是GCD了
可以二分枚举区间长度,然后验证答案的可靠性
对当前长度的所有区间,套用RMQ...
分类:
其他好文 时间:
2014-09-01 14:05:53
阅读次数:
248
Description
For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultimate Frisbee with some of the cows. ...
分类:
其他好文 时间:
2014-08-25 23:01:45
阅读次数:
508
Balanced LineupTime Limit:5000MSMemory Limit:65536KTotal Submissions:34306Accepted:16137Case Time Limit:2000MSDescriptionFor the daily milking, Farmer...
分类:
其他好文 时间:
2014-08-13 22:18:37
阅读次数:
301
RMQ(Range Minimum/Maximum Query)问题是求区间最值问题。对于长度为 n 的数组 A,进行若干次查询,对于区间 [L,R] 返回数组A中下标在 [L,R] 中的最小(大)值。可以用线段树来解决这个问题,预处理的复杂度是 O(nlogn),查询的复杂度是 O(logn)。更...
分类:
其他好文 时间:
2014-08-08 17:34:26
阅读次数:
200
ST算法即是sparse table算法,就是稀疏表的意思,就是利用二分法来划分一个表,划分为2的次方段,之后利用这个st表计算查询结果,可以使得预处理时间O(nlgn),而查询时间为O(1) ;
那么有人会有疑问,既然查询时间是O(1),那么为什么这个算法很多时候并不比线段树快多少,甚至根本没有快过呢?
因为其实查询时间为O(log(range)), range为查询区间的大小,因为...
分类:
其他好文 时间:
2014-07-12 20:35:55
阅读次数:
164
题目:给定一个整数数组,把最右端的元素作为基准,对这个数组进行整理,其中大于这个基准的元素放到它的右边,小于这个基准的元素放到它的左边。不得使用临时数组。
思路:先找一个大于基准的元素与基准进行交换位置,此时基准元素已经在数组的中部(不是最右/中间),从基准开始向后扫描,小于基准则交换。
public class ArrayPivot {
public static void main(St...
分类:
其他好文 时间:
2014-07-08 18:14:57
阅读次数:
166
1.RMQ问题
RMQ (Range Minimum/Maximum Query):对于长度为n的数组A,回答若干询问RMQ(A,i,j)(i,jRMQ问题是指求区间最值的问题。最简单的方法,就是遍历数组直接搜索,但是这种方式时间复杂度是O(n)。对于数组长度较大,性能要求高的场景不适用。
2.ST(Sparse Table)算法
ST算法是一种更加高效的算法,以O(nlog...
分类:
其他好文 时间:
2014-05-25 22:28:29
阅读次数:
375