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