“…For an array A [1, n] of n objects from a totally ordered universe and two indices i and j with 1 ≤ i ≤ j ≤ n, a Range Minimum Query 1 rmq A (i, j) returns the position of a minimum element in the sub-array A[i, j]; in symbols: rmq A (i, j) = argmin i≤k≤j A [k] . Given the ubiquity of arrays and the fundamental nature of this question, it is not surprising that RMQs have a wide range of applications in various fields of computing: text indexing [23,52], pattern matching [2,12], string mining [21,34], text compression [9,45], document retrieval [42,53,59], trees [4,6,38], graphs [28,49], bioinformatics [58], and in other types of range queries [10,56], to mention just a few.…”