题目描述
给定一个集合幂级数 F(x),保证 [x∅]F(x)=0。定义 x 的乘法为子集卷积,你需要对所有 S⊆{1,2,⋯,n} 求出 [xS]eF(x) 对 998244353 取模后的值。
如果你仍不清楚题意,可以阅读题面最后的提示部分。
输入格式
第一行一个正整数 n。
接下来一行 2n 个非负整数,第 i 个整数表示 [xS]F(x),其中 a∈S 当且仅当 (i−1) 二进制下从低到高第 a 位为 1。
输出格式
输出一行 2n 个非负整数,第 i 个整数表示 [xS]eF(x) 对 998244353 取模后的值,其中 a∈S 当且仅当 (i−1) 二进制下从低到高第 a 位为 1。
2
0 1 2 3
1 1 2 5
4
0 11 83 73 34 53 72 57 81 92 10 31 44 33 93 10
1 11 83 986 34 427 2894 38772 81 983 6733 87643 2798 38232 238499 3459260
提示
【数据范围】
对于所有数据,保证 1≤n≤20,[xS]F(x)∈[0,998244353)∩Z,[x∅]F(x)=0。
本题有 20 个测试点,第 i 个测试点满足 n=i。
【提示】
假设 F(x)=∑SfSxS,那么 [xS]F(x)=fS。
在本题中,x 的乘法被定义为子集卷积,即:
$$x^S\cdot x^T=\begin{cases}0&S\cap T\neq\varnothing\\x^{S\cup T}&\text{otherwise}\end{cases}
$$
根据泰勒展开,有:
eF(x)=n≥0∑n!Fn(x)