For 2D range minimum queries on a matrix: Precompute = minimum in rectangle starting at with dimensions . Query rectangle :
Find ,
Combine four overlapping rectangles Space: . Preprocessing: . Query: . This is useful for problems like "find minimum in any subrectangle" with many queries on a static matrix.