我阅读范围最小查询维基百科的链接,看着一对夫妇更教程(TopCoder公司等各个环节),但我有一个非常基本的问题:范围最小查询基础
RMQ的正式definitino是: 给定一个从排序良好的集合(例如数字)中取出对象的数组,从最小查询(或最小查询)(或RMQ)开始,查询子数组中最小元素的位置。
我不明白的是为什么我们不能通过线性搜索来解决问题呢? 在阵列A [0 ... n]的,如果我们需要RMQ(I,J)
min = A[i]
index = i
for iter=i; iter <j; iter ++
if A[iter] <= min
min = A[iter]
index = iter;
由循环的结尾,我们知道的最小和的索引,其中分钟所在。
我绝对错过了这里的东西......有人可以帮我理解为什么我们需要RMQ吗?