P12230 集合幂级数 exp
题目描述
给定一个集合幂级数 $F(x)$,保证 $[x^{\varnothing}]F(x)=0$。定义 $x$ 的乘法为子集卷积,你需要对所有 $S\subseteq\{1,2,\cdots,n\}$ 求出 $[x^S]e^{F(x)}$ 对 $998244353$ 取模后的值。
如果你仍不清楚题意,可以阅读题面最后的提示部分。
输入格式
第一行一个正整数 $n$。
接下来一行 $2^n$ 个非负整数,第 $i$ 个整数表示 $[x^S]F(x)$,其中 $a\in S$ 当且仅当 $(i-1)$ 二进制下从低到高第 $a$ 位为 $1$。
输出格式
输出一行 $2^n$ 个非负整数,第 $i$ 个整数表示 $[x^S]e^{F(x)}$ 对 $998244353$ 取模后的值,其中 $a\in S$ 当且仅当 $(i-1)$ 二进制下从低到高第 $a$ 位为 $1$。
说明/提示
#### 【数据范围】
对于所有数据,保证 $1\le n\le 20$,$[x^S]F(x)\in[0,998244353)\cap\mathbb Z$,$[x^{\varnothing}]F(x)=0$。
本题有 $20$ 个测试点,第 $i$ 个测试点满足 $n=i$。
#### 【提示】
假设 $F(x)=\sum_S f_Sx^S$,那么 $[x^S]F(x)=f_S$。
在本题中,$x$ 的乘法被定义为子集卷积,即:
$$x^S\cdot x^T=\begin{cases}0&S\cap T\neq\varnothing\\x^{S\cup T}&\text{otherwise}\end{cases}$$
根据泰勒展开,有:
$$e^{F(x)}=\sum_{n\ge 0}\frac{F^n(x)}{n!}$$