SQRT Contest #01 - C2 - Tổng AND (Subtask 2)

Xem dạng PDF

Gửi bài giải

Điểm: 13,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Subtask 1 và 2 của bài này có đôi chút khác biệt về giới hạn của các biến. Các bạn lưu ý đọc kỹ đề. Với subtask 2, không có giới hạn gì thêm.

Nhiệm vụ của bạn là tìm một dãy ~a~ gồm ~n~ phần tử thỏa mãn ~m~ yêu cầu. Trong đó yêu cầu thứ ~i~ có dạng ~l_i~ ~r_i~ ~v_i~, nghĩa là:

  • Giá trị của ~a_{l_i}~ ~\&~ ~a_{l_i+1}~ ~\&~ ... ~\&~ ~a_{r_i}~ là chính xác ~v_i~, với ~\&~ là phép toán thao tác bit AND.

Dữ liệu vào

  • Dòng đầu tiên gồm ~2~ số nguyên dương ~n, m~ ~(1 \le n, m \le 10^5)~.
  • ~m~ dòng tiếp theo, dòng thứ ~i~ gồm ~3~ số ~l_i~ ~r_i~ ~v_i~ ~(1 \le l_i \le r_i \le n; 0 \le v_i < 2^{30})~.

Dữ liệu ra

  • In ra dãy ~a~ thỏa mãn với ~0 \le a_i < 2^{30}~. Nếu có nhiều kết quả, hãy in ra kết quả bất kỳ.
  • Dữ liệu đầu vào đảm bảo luôn tồn tại kết quả.

Ví dụ

Dữ liệu vào
8 4
2 4 1
6 8 6
3 7 2
1 1 5
Dữ liệu ra
5 1 5 3 2 7 6 7
Giải thích

Với dãy ~a = [5, 1, 5, 3, 2, 7, 6, 7]~, ta có:

  • Yêu cầu ~l = 1, r = 1~: ~a_1~ ~=~ ~5~.
  • Yêu cầu ~l = 2, r = 4~: ~a_2~ ~\&~ ~a_3~ ~\&~ ~a_4~ ~=~ ~1~ ~\&~ ~5~ ~\&~ ~3~ ~=~ ~1~.
  • Yêu cầu ~l = 6, r = 8~: ~a_6~ ~\&~ ~a_7~ ~\&~ ~a_8~ ~=~ ~7~ ~\&~ ~6~ ~\&~ ~7~ ~=~ ~6~.
  • Yêu cầu ~l = 3, r = 7~: ~a_3~ ~\&~ ~a_4~ ~\&~ ~a_5~ ~\&~ ~a_6~ ~\&~ ~a_7~ ~=~ ~5~ ~\&~ ~3~ ~\&~ ~2~ ~\&~ ~7~ ~\&~ ~6~ ~=~ ~2~.

Qua đó, ta thấy dãy ~a~ trên là dãy ~a~ thỏa mãn tất cả ~m~ yêu cầu.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.