Editorial for Truy vấn
Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Subtask 1: Ta đơn giản duyệt qua từng giá trị trong đoạn
và tìm kết quả.
Độ phức tạp:
Subtask 2: Gọi (
) là chỉ số
nhỏ nhất thỏa mãn
và
. Xây dựng
trong
. Với mỗi truy vấn trên đoạn
, ta chỉ cần kiểm tra hai giá trị
và
:
- Nếu
thì chỉ số
là kết quả cần tìm.
- Ngược lại, nếu
và
thì
là kết quả cần tìm.
- Nếu cả hai chỉ số
và
không thỏa mãn thì không có đáp án cho truy vấn.
Độ phức tạp:
Subtask 3: Ta có thể xây dựng (
) với độ phức tạp
như sau:
- Gọi
là chỉ số
nhỏ nhất cần tính
. Ban đầu
.
- Duyệt qua các chỉ số
từ
đến
.
- Với mỗi chỉ số
, kiểm tra
. Nếu thỏa mãn, gán các giá trị
với
và cập nhật
.
Độ phức tạp
Comments