Truy vấn đoạn phân biệt
Đề bài
Mô tả
Cho một dãy gồm số nguyên . Bạn cần trả lời truy vấn; mỗi truy vấn yêu cầu số lượng giá trị khác nhau xuất hiện trong một đoạn con của dãy.
Các truy vấn được mã hóa để buộc phải trả lời trực tuyến (không thể đọc trước toàn bộ). Mỗi truy vấn cho hai số nguyên không âm và . Gọi là đáp số của truy vấn ngay trước đó ( với truy vấn đầu tiên). Đoạn cần hỏi được tính như sau:
trong đó là phép XOR. Nếu thì hoán đổi và . Đáp số của truy vấn là số giá trị khác nhau trong .
Dữ liệu vào
- Dòng 1: số nguyên .
- Dòng 2: số nguyên .
- Dòng 3: số nguyên .
- dòng tiếp theo, mỗi dòng hai số nguyên và .
Dữ liệu ra
Với mỗi truy vấn, in ra một dòng chứa số giá trị khác nhau trong đoạn tương ứng.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 1 2 1 3 2 2 3 0 6 1 |
3 2 |
Truy vấn 1 (): , , hoán đổi thành . Đoạn có giá trị khác nhau. Truy vấn 2 (): , . Đoạn có giá trị khác nhau. |
Ghi chú
Vì truy vấn buộc trả lời trực tuyến, không thể sắp xếp truy vấn để xử lý ngoại tuyến.
Bình luận