Tổng tập con

Xem dưới dạng PDF

Gửi bài giải


Điểm: 100
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Tý cần giải bài toán sau:

Trong khu bảo tồn có \(N = 2^K\) loài sinh vật, mỗi loài được đánh mã số từ 0 đến \(N-1\). Người ta phát hiện ra rằng loài mã số \(x\) là "tiền thân" của loài mã số \(y\) nếu mọi đặc điểm di truyền của \(x\) đều có trong \(y\) (viết là \(x \subseteq y\)).

Với mỗi loài \(mask\), hãy tính tổng số lượng cá thể của tất cả các loài tiền thân của nó. Nói cách khác, tính \(G[mask] = \sum_{x \subseteq mask} A[x]\).

Đầu vào:

  • Dòng 1: hai số nguyên \(N, K\) (\(N = 2^K\), \(K \le 20\))
  • Dòng 2: \(N\) số nguyên \(A[0..N-1]\) (\(0 \le A[i] \le 10^9\))

Đầu ra:

  • Một dòng gồm \(N\) số nguyên là \(G[mask]\) cho mọi \(mask = 0..N-1\).

Ví dụ: \(N=4, K=2, A=[1,2,3,4]\) → \(G[0]=1, G[1]=1+2=3, G[2]=1+3=4, G[3]=1+2+3+4=10\).

Định dạng đầu vào

  • Dòng đầu chứa số nguyên \(N\) và \(Q\) (\(N, Q \le 10^5\)).
  • \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) mô tả một cạnh.

Định dạng đầu ra

  • In ra kết quả của từng truy vấn trên một dòng.

Ví dụ

Input:

5 3
1 2
1 3
2 4
2 5
2 3

Output:

3
Ràng buộc
Subtask Điểm Giới hạn
1 20 \(N \le 10^3\)
2 30 \(N \le 10^4\)
3 50 \(N \le 10^5\)

Nhận xét

Không có ý kiến tại thời điểm này.