
动态规划——RMQ
文章平均质量分 77
dumeichen
这个作者很懒,什么都没留下…
展开
-
poj 2452 RMQ(Sticks Problem)
题意:给出n个互不相同的数字,要求一个最大的子段,使得该子段内所有数(除了两端以外),值都在两端的数字之间(比左端值大,比右端值小)。分析:(http://www.cnblogs.com/rainydays/archive/2012/07/10/2584576.html)先对整个数组分别构造最大值RMQ和最小值RMQ的数组。然后,枚举子段起点,对于每个起点求出这个起点是区间最小值的最远终点(用原创 2015-02-24 20:54:26 · 435 阅读 · 0 评论 -
poj 1986 tarjan/rmq(LCA问题)
题意:给出一棵树,给出一组从原创 2014-07-18 14:39:17 · 564 阅读 · 0 评论 -
poj 3264 线段树/RMQ(区间最大减最小)
题意:给定Q(1 ≤ Q≤ 200,000)个数A1,A2… AQ,,多次求任一区间Ai–Aj中最大数和最小数的差。原创 2014-07-22 19:36:23 · 491 阅读 · 0 评论 -
poj 3368 RMQ(查询给定区间内频率最多的数字数量)
题意:给出n个数的非递减序列和Q个询问(l,r),对于每个询问求出(l,r)之间连续出现次数最多的次数。思路:用RMQ。将原序列稍作转换。end数组存放与第i个数相同的最后一个数的下标(查找的时候保证O(1))。#include #include #include #define max(a,b) ((a)>(b)?(a):(b))#define N 100010int dp[N原创 2015-02-24 18:06:35 · 859 阅读 · 0 评论 -
poj 2763 lca(rmq)+树状数组(在一棵树上妈妈叫回家)
题意:给给定一棵含n个结点的树,树上的权值表示距离。共有q次操作,操作分为两种0 c :求从当前位置s到c的距离,然后当前位置变成c1 a b:把第a条边的权值变为b思路:树上的最短距离显然通过lca来求,而边权值会随时改变,所以求lca应该采用在线rmq方法。难点在如何更新,应用树状数组。可以深搜保存遍历该点的时间戳,s[i] 表示第一次遍历到该点的时间戳, t[i] 表示回溯到该点原创 2015-03-04 14:59:16 · 583 阅读 · 0 评论