RMQ
A_loud_name
23333333~~~
展开
-
Nearest Common Ancestors poj 1330 LCA转RMQ
题目大意随便读题分析对有根树T进行DFS,将遍历到的结点按照顺序记下,我们将得到一个长度为2N – 1的序列,称之为T的欧拉序列F每个结点都在欧拉序列中出现,我们记录结点u在欧拉序列中第一次出现的位置为pos(u)根据DFS的性质,对于两结点u、v,从pos(u)遍历到pos(v)的过程中经过LCA(u, v)有且仅有一次,且深度是深度序列B[pos(u)…pos(v)]中最小的即LCA(T, u,原创 2016-09-22 17:40:37 · 425 阅读 · 0 评论 -
Frequent values poj 3368 蜜汁RMQ
题目大意给一个长度为n的不降序列a1,a2,a3,…,an,有q个询问,每个询问为:i j 询问在子序列ai…aj中出现最多的元素。 数据范围:1 <= n, q <= 100000分析将原序列转换一下,if (a[i]==a[i-1]) f[i]=f[i-1]+1;else f[i]=1;对于每个询问(l,r),分为两个部分,前半部分求与a[l]相同的数的个数直到t,后半部分原创 2016-09-24 14:49:26 · 491 阅读 · 0 评论 -
Balanced Lineup poj 3264 RMQ问题
题目大意给出一串的数字,然后给出一个区间a b,输出从a到b的最大的数和最小的数的差分析可以用st算法ST算法(Sparse Table):它是一种动态规划的方法。 以最小值为例。a为所寻找的数组. 用一个二维数组f(i,j)记录区间[i,i+2^j-1] (持续2^j个)区间中的最小值。其中f[i,0] = a[i]; 所以,对于任意的一组(i,j),f(i,j) = min{f(i,j原创 2016-09-21 20:41:55 · 399 阅读 · 0 评论