Cho mảng a có 2n phần tử, đánh chỉ số từ 0 đến 2n−1. Với mỗi chỉ số mask (xem như một mặt nạ bit n bit), hãy tính F[mask]=∑sub⊆maska[sub] tức tổng a[sub] trên mọi tập con sub của mask (kể cả sub=mask và sub=0).
In kết quả theo modulo 109+7. Sử dụng kỹ thuật Sum over Subsets (SOS DP) chạy trong O(n⋅2n).
Dòng đầu chứa n. Dòng thứ hai chứa 2n số nguyên không âm a[0],a[1],…,a[2n−1].
0≤n≤20, 0≤a[i]≤109.
In 2n số F[0],F[1],…,F[2n−1] trên một dòng, cách nhau bởi dấu cách, lấy modulo 109+7.
Ví dụ:
Đầu vào:
2
1 2 3 4
Đầu ra:
1 3 4 10
Giải thích:
Đang tải editor...