生成函数
普通生成函数
序列 \(a\) 的生成函数为 \(\sum\limits_{i=0}^n a_i x^i\)
指数级生成函数
序列 \(a\) 的指数级生成函数为 \(\sum\limits_{i=0}^n \frac{a_i x^i}{i!}\)
P2012 拯救世界2
\(ans= (\sum\limits_{i=0} \frac{x^i}{i!})^4 (\sum\limits_{i \bmod 2 = 1} \frac{x^i}{i!})^4 (\sum\limits_{i \bmod 2 = 0} \frac{x^i}{i!})^4\)
\(ans=e^{4x} (\frac{e^{x}-e^{-x}}{2})^4 (\frac{e^{x}+e^{-x}}{2})^4\)
\(ans=\frac{1}{2^8}e^{4x} (e^{2x}-e^{-2x})^4\)
然后展开就好了
奇偶
这题只要生成函数 : \((\sum\limits_{i=1}^{n}x^{a_i})^M [x^S]\)
然后考虑到这题只需要膜 \(2\), 于是就可以考虑 \((\sum\limits_{i=1}^{n} x^{a_i})^2 \equiv \sum\limits_{i=1}^{n} x^{2a_i} \pmod 2\)
然后这样子背包是 \(O(T nM\log M)\) 的。然后考虑优化。看到这个 \(a_i\) 比较小。然后考虑压一个 \(17\) 位,然后 \(bitset\) 做一下 \(dp\) 就好了。
P4389 付公主的背包
生成函数, 然后可以考虑先 Ln 然后再 Exp 回去。\(\ln(1 - x^V)\) 是有性质的,然后经过 推导 即可得到答案
P5488 差分与前缀和
生成函数,以前缀和为例,生成函数为 \((1 + x + x^2 + ..)^k\) ,可用组合数直接求。
P5748 集合划分计数
首先枚举有多少个集合,得到指数级生成函数 \(F = \sum\limits_{i = 0} \frac{x^i}{i!} = e^x\), 不包含 \(0\), 因此为 \(e^x - 1\)
那么答案就是这个再做一遍指数级生成函数,为 \(e^{e^x - 1}\)。
CF891E Lust
对于每一轮算贡献的思想。推导