QOJ.ac

QOJ

时间限制: 6.0 s 内存限制: 512 MB 总分: 100 可 Hack ✓

#17775. Mạng lưới cung cấp điện

统计

Mạng lưới điện bao gồm $n$ nút, các nút được kết nối với nhau thông qua một số đường dây truyền tải hai chiều, tạo thành một đồ thị vô hướng.

Khi cấu hình mạng lưới, tất cả các nút sẽ được phân bổ vào hai mô-đun cung cấp điện chính độc lập. Đối với nút $i$ ($1 \le i \le n$), định nghĩa số nút láng giềng cùng mô-đun $d_i$ là: số lượng các nút được kết nối trực tiếp với nút $i$ và nằm trong cùng mô-đun cung cấp điện với nút $i$.

Tiểu S đã tìm thấy hồ sơ của $q$ lần kiểm tra, mỗi lần kiểm tra được biểu diễn bằng một chuỗi $s$ có độ dài $n$. Đối với nút thứ $i$ ($1 \le i \le n$): Nếu $s_i = 0$, yêu cầu trong cấu hình này, số nút láng giềng cùng mô-đun $d_i$ của nút $i$ phải là số chẵn; Nếu $s_i = 1$, yêu cầu trong cấu hình này, số nút láng giềng cùng mô-đun $d_i$ của nút $i$ phải là số lẻ; * Nếu $s_i = ?$, hồ sơ không đề cập đến nút $i$, nghĩa là không có yêu cầu về tính chẵn lẻ của số nút láng giềng cùng mô-đun đối với nút $i$.

Tiểu T chỉ ra rằng tập hợp các nút liên quan trong các hồ sơ có mối quan hệ lồng nhau quy củ. Cụ thể, gọi $S_i$ là tập hợp các nút liên quan trong lần kiểm tra thứ $i$ ($1 \le i \le q$) (tức là tập hợp các vị trí trong chuỗi tương ứng không phải là $?$), thì với bất kỳ hai hồ sơ kiểm tra khác nhau $i, j$ ($1 \le i < j \le q$), $S_i$ và $S_j$ chắc chắn thỏa mãn một trong ba mối quan hệ sau: $S_i \subseteq S_j$, $S_j \subseteq S_i$, hoặc $S_i \cap S_j = \emptyset$.

Để nhanh chóng cấu hình mạng lưới điện, bạn cần hỗ trợ Tiểu T và Tiểu S tính toán số lượng phương án khác nhau về bản chất để kết nối tất cả các nút vào hai mô-đun chính trong mỗi lần kiểm tra. Hai phương án được coi là khác nhau khi và chỉ khi tồn tại ít nhất một nút được kết nối vào các mô-đun chính khác nhau trong hai phương án. Vì kết quả có thể rất lớn, bạn chỉ cần đưa ra kết quả sau khi lấy mô-đun $10^9 + 7$.

Dữ liệu vào

Dòng đầu tiên của dữ liệu vào chứa hai số nguyên dương $n, q$ ($1 \le n, q \le 3 \times 10^3$).

Tiếp theo là $n$ dòng, mỗi dòng chứa một chuỗi 01 có độ dài $n$, trong đó ký tự thứ $j$ ($1 \le j \le n$) của dòng thứ $i$ ($1 \le i \le n$) biểu thị sự tồn tại của đường dây truyền tải giữa nút $i$ và nút $j$. Nếu tồn tại thì là $1$, ngược lại là $0$. Đảm bảo không có đường dây truyền tải nào kết nối với chính nó, tức là ký tự thứ $i$ của dòng thứ $i$ ($1 \le i \le n$) luôn là $0$.

Tiếp theo là $q$ dòng, mỗi dòng chứa một chuỗi $s$ có độ dài $n$, biểu thị hồ sơ của một lần kiểm tra.

Dữ liệu ra

Xuất ra $q$ dòng, mỗi dòng một số nguyên không âm, biểu thị số lượng phương án khác nhau về bản chất để kết nối tất cả các nút vào hai mô-đun chính trong lần kiểm tra đó, kết quả lấy mô-đun $10^9 + 7$.

Ví dụ

Dữ liệu vào 1

3 2
010
100
000
1?0
010

Dữ liệu ra 1

4
0

Ghi chú

Đối với lần kiểm tra đầu tiên, có bốn phương án kết nối sau: 1. Kết nối tất cả các nút vào mô-đun chính thứ nhất; 2. Kết nối tất cả các nút vào mô-đun chính thứ hai; 3. Kết nối nút 1, 2 vào mô-đun chính thứ nhất, nút 3 vào mô-đun chính thứ hai; 4. Kết nối nút 1, 2 vào mô-đun chính thứ hai, nút 3 vào mô-đun chính thứ nhất.

Dữ liệu vào 2

6 5
000010
000001
000000
000001
100000
010100
?11?0?
??????
?10?1?
??0?0?
?01?01

Dữ liệu ra 2

0
64
16
32
0

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download
#1647EditorialOpen可能是另解dXqwq2026-04-30 15:29:14View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.