trang chủ / đề bài / interarr

Dãy thú vị

Đề bài

Mô tả

Một dãy n số nguyên không âm a1,a2,…,an được gọi là thú vị nếu nó thoả mãn đủ m ràng buộc cho trước.

Ràng buộc thứ i gồm ba số nguyên li, ri, qi, và yêu cầu rằng phép AND theo bit của tất cả các phần tử trên đoạn [li,ri] phải đúng bằng qi:

ali&ali+1&…&ari=qi

Hãy tìm một dãy thú vị bất kỳ gồm n phần tử, hoặc cho biết rằng không tồn tại dãy nào như vậy.

Ký hiệu x&y là phép AND theo bit của hai số x và y (toán tử & trong C++, Java, Python).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và m: số phần tử của dãy và số ràng buộc.
  • m dòng tiếp theo, dòng thứ i chứa ba số nguyên li, ri, qi mô tả ràng buộc thứ i.

Dữ liệu ra

Nếu tồn tại dãy thú vị, in ra YES trên dòng đầu, và trên dòng thứ hai in n số nguyên a1,a2,…,an với 0≤ai<230.

Nếu có nhiều đáp án, in ra đáp án bất kỳ.

Nếu không tồn tại dãy thú vị, chỉ in ra NO.

Ràng buộc

  • 1≤n≤105
  • 1≤m≤105
  • 1≤li≤ri≤n
  • 0≤qi<230

Ví dụ

Input Output Giải thích
3 1
1 3 3
YES
3 3 3
Chỉ có một ràng buộc: a1&a2&a3=3. Dãy toàn số 3 thoả mãn.
3 2
1 3 3
1 3 2
NO Cùng một đoạn [1,3] không thể vừa có AND bằng 3 vừa có AND bằng 2.
3 2
1 2 536870912
2 3 536870911
YES
536870912 1073741823 536870911
a2 phải chứa mọi bit của cả 536870912=229 lẫn 536870911=229−1, nên a2=230−1. Khi đó a1&a2=229 và a2&a3=229−1. Đáp án khác cũng được chấp nhận.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0