duong3982oj Contest 04 - Miku biến hình
Xem dạng PDFDạo này, Miku phát hiện ra cô ấy có sở thích đặc biệt với các con số. Nhân ngày sinh nhật, cô ấy được tặng một dãy số ~a~ gồm ~n~ phần tử ~a_1, a_2, ..., a_n~. Ban đầu, tất cả các phần tử đều có giá trị bằng ~0~. Hôm nay, cô ấy quyết định đố các bạn cùng lớp bài toán như sau:
Miku có ~q~ phép màu biến tất cả các phần tử trong khoảng chỉ định ~[l, r]~ như sau: phần tử thứ ~l~ sẽ được tăng một giá trị ~1^2 \times x~, phần tử thứ ~l + 1~ sẽ được tăng một giá trị ~2^2 \times x~, phần tử thứ ~l + 2~ sẽ được tăng một giá trị ~3^2 \times x~, ..., phần tử thứ ~r~ sẽ được tăng một giá trị ~(r - l + 1)^2 \times x~.
Nhiệm vụ của các bạn là hãy tìm ra mảng ~a~ sau ~q~ lần hô biến của Miku.
INPUT
Dòng đầu tiên chứa số nguyên dương ~n~ (~1 \le n \le 10^7~).
Dòng thứ hai chứa số nguyên dương ~q~ (~1 \le q \le 10^7~) là số lượng truy vấn.
Dòng thứ ba gồm năm số nguyên dương ~l_1, l_2, r_1, r_2, x_{cap}~. (~1 \le l_1, l_2, r_1, r_2 \le 10^9~, ~1 \le x_{cap} \le 100~).
Các truy vấn sẽ được xây dựng như sau:
- Ban đầu, đặt ~cur_l = 0, cur_r = 0, cur_x = 0~.
- ~q~ truy vấn sẽ lần lượt được sinh ra bằng cách thực hiện lần lượt các thao tác như sau:
- ~cur_l = (cur_l \times l_1 + l_2)~ ~\%~ ~n + 1~.
- ~cur_r = (cur_r \times r_1 + r_2)~ ~\%~ ~n + 1~.
- ~cur_x = (cur_x \times cur_l + cur_r)~ ~\%~ ~x_{cap} + 1~.
- Nếu ~cur_l > cur_r~, ta đổi hai số này cho nhau.
Lúc này, truy vấn sẽ là bộ ba số (~cur_l~, ~cur_r~, ~cur_x~).
OUTPUT
Vì kết quả có thể rất lớn, hãy in ra tổng XOR của mảng ~a~, sau khi chia dư mọi phần tử cho ~10^9 + 7~.
Cụ thể hơn, hãy in ra ~(a_1~ ~\%~ ~(10^9 + 7))~ ~XOR~ ~(a_2~ ~\%~ ~(10^9 + 7))~ ~XOR~ ... ~XOR~ ~(a_n~ ~\%~ ~(10^9 + 7))~.
SAMPLE INPUT
5
4
1 2 3 4 7
SAMPLE OUTPUT
176
| Truy vấn | ~cur_l~ | ~cur_r~ | ~swapped~ | ~cur_x~ | Mảng sau khi thực hiện truy vấn |
|---|---|---|---|---|---|
| ~1~ | ~3~ | ~5~ | ~0~ | ~6~ | ~0, 0, 6, 24, 54~ |
| ~2~ | ~1~ | ~5~ | ~0~ | ~5~ | ~5, 20, 51, 104, 179~ |
| ~3~ | ~4~ | ~5~ | ~0~ | ~5~ | ~5, 20, 51, 109, 199~ |
| ~4~ | ~2~ | ~5~ | ~0~ | ~2~ | ~5, 22, 59, 127, 231~ |
~XOR~ của cả mảng này là ~176~.
SUBTASKS
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~10~ | ~n, q \le 1000~. |
| 2 | ~10~ | ~n, q \le 5000~. |
| 3 | ~10~ | ~n, q \le 5 \times 10^4~. |
| 4 | ~16~ | ~n, q \le 3 \times 10^5~. |
| 5 | ~16~ | ~x_{cap} = 1~. |
| 6 | ~38~ | Không có ràng buộc gì thêm. |
Bình luận