题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754 线段树模板题,update功能是单点替换,query是访问区间最大值。 ...
分类:
其他好文 时间:
2016-08-01 10:25:27
阅读次数:
137
1. 已知一个一维数组nums,求nums的一个连续区间,使其和最大。返回最大和。(O(n)) hdu1005 2. 已知一个一维数组nums,求nums的一个最长连续区间,使其和为k。返回最大区间长度。(O(n)) 3. 已知一个一维数组nums,求nums的一个连续区间,使其和是不超过k的最大值 ...
分类:
其他好文 时间:
2016-07-14 19:27:12
阅读次数:
166
RMQ (Range Minimum/Maximum Query)算法 1. 概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这 ...
分类:
编程语言 时间:
2016-07-13 22:36:17
阅读次数:
195
【引子】RMQ (Range Minimum/Maximum Query)问题: 对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题。 {方法} 1、朴素(即搜索),O(n)-O(qn) onli ...
分类:
编程语言 时间:
2016-07-04 13:25:46
阅读次数:
200
题目链接:http://poj.org/problem?id=3264 写了一个更优美一点的 ...
分类:
其他好文 时间:
2016-05-15 16:51:32
阅读次数:
137
题意很简单就是给你两个数n和m,n表示有n张飞机票,m表示有m次查询,接下来n行,每行两个数,分别表示航班出发的时间和价格,接下来m行,每行两个数表示查询这两个数时间内航班最贵的价格。如果没有要求的机票就输出"None"。这道题是一道典型的RMQ问题,就是区间最值查询问题。这里提供两种解法。
1.线段树可以解决,而且是一道线段树的裸题。
//segment tree
#include
#in...
分类:
其他好文 时间:
2016-05-13 04:16:00
阅读次数:
294
1、 概述 LCA(Least Common Ancestors),即最近公共祖先,是指这样一个问题:在有根树中,找出某两个结点u和v最近的公共祖先(另一种说法,离树根最远的公共祖先)。 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n ...
分类:
其他好文 时间:
2016-05-10 09:41:35
阅读次数:
246
这道题因为有一个数在序列中出现多次只算一次的限制。我们可以这样搞。假设在当前题意下求给定右端点的区间最值。那么我们可以预处理出每个数前一次出现的位置pre[i] 。接下来从左到右加入每一个值,就是在 pre[i] + 1 —— i 这个区间内加上 v[i] 的值,这样就可以得到以当前 i 点为右端点 ...
分类:
其他好文 时间:
2016-05-05 22:35:32
阅读次数:
244
概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中经常遇到的问题,下面介绍一下解决这两种问题的比较高效的算 ...
分类:
编程语言 时间:
2016-04-26 14:05:38
阅读次数:
223
问题描述: For example, Given nums = [1,3,-1,-3,5,3,6,7], and k = 3. Therefore, return the max sliding window as [3,3,5,5,6,7].、 问题分析: 又是一道区间最值的题,又要求近线性时间的 ...