Charlie-Vinnie

集合幂级数:$F(x)=\sum\limits_{S}f_Sx^S$

卷积:$[x^k]F*G=\sum\limits_{i,j}{[i \oplus j = k]f_ig_j}$

FWT、IFWT 的公式不写了,随便查/cy

注意事项:

1. $O(2^nn^2)$ 可以跑 $n=20$,但是很卡。

2. cache 友好:先循环 $i$,再循环 $j$,再循环 $s$。(玄学优化)

3. IFWT 单点求值:$​or=\sum\limits_{T \subseteq S}(-1)^{|S|-|T|}f_T,\quad and=\sum\limits_{S \subseteq T}(-1)^{|T|-|S|}f_T$

4. FWT 可以用来加速集合反演!$ans_S=\sum\limits_{S \subseteq T}(-1)^{|T|-|S|}f_T$,这不就是↑那个 $and$ 的 IFWT 吗qwq($O(3^n) \rightarrow O(2^nn)$)

5. 一般难题不考裸玩,需要 FWT 之后存下来,过一段时间之后乘上一堆再 IFWT 回去

6. 集合幂级数也可以玩 exp,ln,exp 的组合意义:从一个集合中选出若干个无序的互不相同的子集,ln 主要是配套 exp 套公式用的。

7. 求导大法,用导数表示自己,对 exp 和 ln 都管用

 

分类:

技术点:

相关文章: