二项式反演
(g_n=sumlimits_{i=0}^n(-1)^idisplaystyleinom{n}{i}f_iquad↔quad f_n=sumlimits_{i=0}^n(-1)^idisplaystyleinom{n}{i}g_i)
证明:
[egin{align}
&sumlimits_{i=0}^n(-1)^iinom{n}{i}g_i\
=&sum_{i=0}^n(-1)^iinom{n}{i}sum_{j=0}^i(-1)^jinom{i}{j}f_j\
=&sum_{i=0}^nsum_{j=0}^i(-1)^{i}(-1)^jfrac{n!}{i!(n-i)!}·frac{i!}{j!(i-j!)}f_j\
=&sum_{i=0}^nsum_{j=0}^i(-1)^{i}(-1)^jfrac{n!}{(n-i)!j!(i-j!)}f_j\
=&sum_{i=0}^nsum_{j=0}^i(-1)^{i}(-1)^jfrac{n!(n-j)!}{(n-j)!(n-i)!j!(i-j!)}f_j\
=&sum_{i=0}^nsum_{j=0}^i(-1)^{i}(-1)^jfrac{n!}{(n-j)!j!}·frac{(n-j)!}{(n-i)!(i-j!)}f_j\
=&sum_{i=0}^nsum_{j=0}^i(-1)^{i}(-1)^jinom{n}{j}·inom{n-j}{i-j}f_j\
=&sum_{j=0}^n(-1)^jinom{n}{j}f_jsum_{i=j}^n(-1)^iinom{n-j}{i-j}\
&i←i-j\
=&sum_{j=0}^n(-1)^jinom{n}{j}f_jsum_{i=0}^{n-j}(-1)^{i+j}inom{n-j}{i}\
=&sum_{j=0}^nf_jinom{n}{j}sum_{i=0}^{n-j}(-1)^{i}inom{n-j}{i}\
=&sum_{j=0}^nf_jinom{n}{j}[n==j]\
=&f_n
end{align}
]
倒数第二步可以把后面那一坨变为 ((1-1)^{n-j}) 显然等价于 ([n==j]) 。
于是就有
[f_n=sum_{i=0}^ninom{n}{i}g_iquad↔quad g_n=sum_{i=0}^n(-1)^{n-i}inom{n}{i}f_i
]
可以令 (G_n=(-1)^ng_n) 再带入最上面的式子,就有了一样的形式了。
应用
假设要求计数 恰好 (k) 个某物的方案数,(1leq kleq n)。
1.我们令 (g_i) 表示 恰好 (i) 个某物的方案数,(f_i) 为 至多 (i) 个某物的方案数。
这个满足 (f_k=sumlimits_{i=0}^kdisplaystyleinom{k}{i}g_i) ,假设我们能求出 (f_{0,1,2,..k}) ,就可以用二项式反演求回 $ g_k=sum_{i=0}k(-1){k-i}displaystyleinom{k}{i}f_i $了。
2.我们令 (g_i) 表示 恰好 (i) 个某物的方案数,(f_i) 为 至少 (i) 个某物的方案数。
这个满足 (f_k=sumlimits_{i=k}^ndisplaystyleinom{i}{k}g_iquad ↔quad g_k=sumlimits_{i=k}^n(-1)^{i-k}displaystyleinom{i}{k}f_i)。
不会证,所以暴力拆开。
[egin{align}
&sum_{i=k}^ninom{i}{k}g_i\
=&sum_{i=k}^ninom{i}{k}sum_{j=i}^n(-1)^{j-i}inom{j}{i}f_j\
=&sum_{i=k}^nsum_{j=i}^ninom{j}{i}inom{i}{k}(-1)^{j-i}f_j\
=&sum_{i=k}^nsum_{j=i}^ninom{j}{k}inom{j-k}{i-k}(-1)^{j-i}f_j\
=&sum_{j=k}^nf_jsum_{i=k}^j(-1)^{j-i}inom{j}{k}inom{j-k}{i-k}\
&i←i-k\
=&sum_{j=k}^nf_jinom{j}{k}sum_{i=0}^{j-k}(-1)^{j-k-i}inom{j-k}{i}\
=&sum_{j=k}^nf_jinom{j}{k}[j==k]\
=&f_k
end{align}
]
于是也可以先求出 (f_{0,1,2...k}) 再二项式反演回 (g_k) 了。
这个貌似就是广义容斥,把求恰好的问题转化为求至多,至少的问题。
例题
[post cid="969" cover="http://"/]