【题解】P14270 ABC253Ex 加强版

https://www.luogu.com.cn/problem/P14270

首先求出 \(F\),表示生成树的集合幂级数。
然后再对于每个 \(k\) 求出 \([x^U]\frac{F^k}{k!}\)

考虑按照 \(\mathrm{lb}\) 从大到小的顺序求出 \(f_S\)
假设 \(\mathrm{lb}(S)=u\),则 \(f_S=[x^{S\setminus u}]\prod_{i>u}(1+\sum_{\mathrm{lb}(T)=i} f_{T}\mathtt{E}(T\to u)x^T)\)
复杂度计算:\(O(\sum_{u=1}^{n}\sum_{i=1}^{n-u} 2^ii^2)=O(\sum_{i=1}^{n} 2^ii^2(n-i))=O(2^nn^2)\)

考虑 OR 逆卷积本质上是高维差分:\(\mathtt{IFWT}_S=\sum_{T\subseteq S} a_T(-1)^{|S|-|T|}=(-1)^{|S|}\sum_{T\subseteq S}(-1)^{|T|}a_T\)
那么假设 \(f'_S=\mathtt{FWT}(\sum_{T} f_Tx^Ty^{|T|})_S\),则我们要求的是 \(\frac{(-1)^n}{k!}\sum_{S} (-1)^{|S|}[y^n]{f'_S}^k\)
\(f'_{S}\) 的最高次是 \(y^{|S|}\),时间复杂度是 \(O(\sum_{i=1}^{n} 2^in(n-i)i)=O(2^nn^2)\)

posted @ 2026-07-16 21:37  TallBanana  阅读(9)  评论(0)    收藏  举报