Skip to main content

洛谷 P6097 【模板】子集卷积

给定两个长度为 2n2^n 的序列 a0,a1,,a2n1a_0,a_1,\dots,a_{2^n-1}b0,b1,,b2n1b_0,b_1,\dots,b_{2^n-1},你需要求出一个序列 c0,c1,,c2n1c_0,c_1,\dots,c_{2^n-1},其中 ckc_k 满足:

ck=i&j=0i  j=kaibjc_k=\sum_{\substack{{i \& j=0}\\{i~\mid~ j=k}}} a_i b_j

其中  ~\mid~表示按位或,&\&表示按位与。

答案对 109+910^9+9 取模。