Giải thích: Hình vuông tại (2,2) chứa các giá trị 3,6,9,1, nên độ chênh là 9−1=8. Ba truy vấn còn lại cho độ chênh lần lượt là 6,6 và 4.
Lời giải tóm tắt
Phân tích: Với một hình vuông cạnh b, chọn p là lũy thừa hai lớn nhất không vượt b. Vì 2p ≥ b, bốn hình vuông p × p đặt tại bốn góc phủ toàn bộ vùng truy vấn. Phần giao nhau không ảnh hưởng đến phép lấy minimum hoặc maximum.
Thuật toán: Xây hai Sparse Table hai chiều chuyên cho hình vuông: lớp k lưu minimum và maximum của mọi hình vuông cạnh 2^k. Mỗi ô lớp mới được gộp từ bốn hình vuông ở lớp trước. Với một truy vấn, lấy bốn ô lớp floor(log2 b) ở bốn góc, gộp minimum và maximum rồi in hiệu.
Chứng minh tính đúng đắn: Quy nạp theo k cho thấy mỗi ô Sparse Table lưu đúng thống kê của hình vuông mà nó đại diện. Bốn khối được chọn phủ mọi ô của hình vuông truy vấn, nên minimum và maximum khi gộp lần lượt là hai cực trị thật. Hiệu của chúng chính là đáp án cần in.
Độ phức tạp: Tiền xử lý tốn O(n^2 log n) thời gian và bộ nhớ; mỗi truy vấn mất O(1).