【笔记】 用生成函数推二项式反演

\(f(i)=\sum_{j\ge i}\binom{j}{i}g(j)\)

已知 \(f(i)\ (0 \le i \le n)\)\(O(n)\) 可求某一项 \(g(i)\)

\[g(i)=\sum_{j\ge i}\binom{j}{i}(-1)^{j-i}f(j) \]

这个大家都懂,但怎么推呢?从 \(f(i)=\sum_{j\ge i}\binom{j}{i}g(j)\) 开始吧,移项:

\(g(i)=f(i)-\sum_{j>i}\binom{j}{i}g(j)\)

考虑 \(f(j)\) 对于 \(g(i)\) 的贡献系数。

大概是一条形如 \(-\binom{j}{p_1}\times -\binom{p_1}{p_2} \times \cdots \times -\binom{p_{m}}{i}\) 的贡献路径,其中 \(j> p_1>p_2>\cdots>p_m> i\)。发现像是在对 \(j-i\) 进行拆分什么的。不妨把组合数拆开:

\[-\binom{j}{p_1}\times -\binom{p_1}{p_2} \times \cdots \times -\binom{p_{m}}{i} \\ = -\binom{j}{j-p_1}\times -\binom{p_1}{p_1-p_2} \times \cdots \times -\binom{p_{m}}{p_m-i} \\ = \dfrac{-j^{\underline{j-p_1}}}{(j-p_1)!} \times \dfrac{-p_1^{\underline{p_1-p_2}}}{(p_1-p_2)!} \times \cdots \times \dfrac{-p_m^{\underline{p_m-i}}}{(p_m-i)!} \\ = \dfrac{j^{\underline {j-i}}}{-(j-p_1)!\times -(p_1-p_2)!\times \cdots \times -(p_m-i)!} \]

不难发现即求所有 \(j-i\) 的有序划分方案 \(a_1,a_2,\cdots,a_m\)

\[j^{\underline{j-i}}\sum_{\sum a=j-i} \prod_{k=1}^{m} \dfrac{1}{-a_k!} \]

直接做显然不好做,考虑构造生成函数 \(h(x)=\sum_{i=1}^{\infty}\dfrac{x^i}{-i!}=1-e^x\)

则答案生成函数为 \(\sum_{i=0}^{\infty}h^{i}(x)\)。注意到 \(h^0(x)=0\) 不便于求解,且我们不需要用到常数项,手动加上一个 \(1\)

根据 \(\sum_{i=0}^{\infty} x^i = \dfrac{1}{1-x}\),带入 \(x=h(x)\)\(\sum_{i=0}^{\infty}h^i(x)=\dfrac{1}{1-h(x)}=\dfrac{1}{e^x}=e^{-x}\)

所以有 \([x^n]e^{-x}=\dfrac{(-1)^n}{n!}\)

\(f(j)\)\(g(i)\) 的贡献系数即为 \(\dfrac{(-1)^{j-i} j^{\underline{j-i}}}{(j-i)!}=(-1)^{j-i}\binom{j}{i}\)

posted @ 2021-01-16 21:44  Imakf  阅读(146)  评论(0编辑  收藏  举报