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

(f(i)=sum_{jge i}inom{j}{i}g(j))

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

[g(i)=sum_{jge i}inom{j}{i}(-1)^{j-i}f(j) ]

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

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

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

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

[-inom{j}{p_1} imes -inom{p_1}{p_2} imes cdots imes -inom{p_{m}}{i} \ = -inom{j}{j-p_1} imes -inom{p_1}{p_1-p_2} imes cdots imes -inom{p_{m}}{p_m-i} \ = dfrac{-j^{underline{j-p_1}}}{(j-p_1)!} imes dfrac{-p_1^{underline{p_1-p_2}}}{(p_1-p_2)!} imes cdots imes dfrac{-p_m^{underline{p_m-i}}}{(p_m-i)!} \ = dfrac{j^{underline {j-i}}}{-(j-p_1)! imes -(p_1-p_2)! imes cdots imes -(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}inom{j}{i})

原文地址:https://www.cnblogs.com/imakf/p/14287447.html