VOXOR - XOR dãy số
Giới hạn- Thời gian: 1.0s
- Bộ nhớ: 1536MB
- Mã nguồn: 50000 bytes
Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.
Đọc đề đẹp hơn ở:
https://codeforces.com/group/FLVn1Sc504/contest/274862/problem/Q
https://codeforces.com/group/FLVn1Sc504/contest/271722/problem/B
Cho dãy A gồm N số nguyên không âm. Ta lần lượt thực hiện Q thao tác trên tập hợp này:
- XOR x : Với mọi i, A i = A i xor x
- FIND k : Tìm số lớn thứ k trong dãy A .
Yêu cầu: Thực hiện các truy vấn trên.
Input
Dòng đầu tiên ghi 2 số N và Q .
Dòng thứ hai ghi N số là giá trị ban đầu của dãy A .
Tiếp theo là Q dòng, mỗi dòng ghi 1 trong 2 loại truy vấn.
Output
Với mỗi truy vấn loại FIND , in ra kết quả tìm được.
Giới hạn
Subtask 1 (25%)
- N , Q ≤ 5000
- 0 ≤ A i ≤ 10 9
- 0 ≤ x ≤ 10 9 .
Các subtask 2, 3 và 4 tiếp theo đều có
- N ≤ 10 5
- Q ≤ 10 5
- 0 ≤ A i ≤ 10 9
Subtask 2 (40%)
- 0 ≤ x ≤ 100
Subtask 3 (10%):
- 0 ≤ x ≤ 10 9
- x luôn có dạng 2 k
Subtask 4 (25%):
- 0 ≤ x ≤ 10 9
Ví dụ
Input: 4 9 1 2 3 4 FIND 1 FIND 2 FIND 3 FIND 4 XOR 6 FIND 1 FIND 2 FIND 3 FIND 4
Output: 4 3 2 1 7 5 4 2
Giải thích
Trước truy vấn XOR 6, dãy số là 1 2 3 4.
Sau truy vấn XOR 6, dãy số là 7 4 5 2.
- Người up: voj
- Nguồn bài: VNOI Online 2016