RMQ(区间最值问题)
Posted wz-archer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RMQ(区间最值问题)相关的知识,希望对你有一定的参考价值。
问题:
RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题。
dp思想:
dp[i][j]中存储的是从第j个数开始的2i个数最大的数。(如下图)
dp[2][1]表示的是1到1+22-1中最大的数。即下表1-4中最大的数。
如果要求1-6中最大的数,可以先将区间拆成两个2x长度的字串,分别求字串的最大值。1-6可以拆分成1-4和3-6这两个序列长度都为4.所以直接比较dp[2][1]和dp[2][3]即可。
dp代码:
以上是关于RMQ(区间最值问题)的主要内容,如果未能解决你的问题,请参考以下文章