trang chủ / bài tập / preflamp

Bật đèn theo tiền tố

Đề bài

Mô tả

n bóng đèn xếp thành một hàng, đánh số từ 1 đến n. Mỗi bóng đèn ban đầu ở trạng thái tắt (0) hoặc bật (1).

Cho k tập con A1,A2,,Ak của {1,2,,n}, thỏa mãn điều kiện: giao của ba tập con bất kỳ luôn rỗng. Nói cách khác, với mọi 1i1<i2<i3k thì Ai1Ai2Ai3= (tức là mỗi bóng đèn thuộc nhiều nhất hai tập con).

Trong một thao tác, bạn chọn một tập con Aj và đảo trạng thái của tất cả các bóng đèn thuộc Aj (đèn đang bật thành tắt và ngược lại).

Dữ liệu đảm bảo rằng với các tập con đã cho, luôn có thể thực hiện một số thao tác để bật đồng thời tất cả các bóng đèn.

Gọi mi là số thao tác ít nhất cần thực hiện để i bóng đèn đầu tiên đồng thời được bật. Lưu ý rằng không có ràng buộc nào về trạng thái của các bóng đèn còn lại (từ i+1 đến n), chúng có thể bật hoặc tắt tùy ý.

Hãy tính mi với mọi 1in.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk.
  • Dòng thứ hai chứa một xâu nhị phân độ dài n mô tả trạng thái ban đầu của các bóng đèn (bóng i tắt nếu ký tự thứ i0, bật nếu là 1).
  • Tiếp theo là mô tả của k tập con. Mô tả của mỗi tập con gồm:
    • Một dòng chứa số nguyên c (1cn) là số phần tử của tập con.
    • Một dòng chứa c số nguyên phân biệt x1,,xc (1xin) là các phần tử của tập con.

Dữ liệu ra

In ra n dòng, dòng thứ i chứa một số nguyên mi: số thao tác ít nhất để bật đồng thời các bóng đèn từ 1 đến i.

Ràng buộc

  • 1n,k3·105
  • Giao của ba tập con bất kỳ luôn rỗng.
  • Luôn tồn tại cách bật đồng thời toàn bộ các bóng đèn.

Ví dụ

Input Output Giải thích
5 3
00011
3
1 2 3
1
4
3
3 4 5
1
1
1
1
1
Chỉ cần thực hiện thao tác trên tập A1={1,2,3} là đủ để bật các bóng 1 đến 5 theo yêu cầu ở mọi tiền tố.
7 3
0011100
3
1 4 6
3
3 4 7
2
2 3
1
2
3
3
3
3
3
Với i=1 dùng A1; với i=2 dùng A1,A3; với i3 dùng cả A1,A2,A3.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0