如果我们有一个这样的式子
f(n)=∑i=0ng(i)Cin
f
(
n
)
=
∑
i
=
0
n
g
(
i
)
C
n
i
并且我们已经知道了 f f ,我们能否直接求出呢?答曰:可以。这个东西就叫做二项式反演。结果就是
g(n)=∑i=0n(−1)n−iCinf(i)
g
(
n
)
=
∑
i
=
0
n
(
−
1
)
n
−
i
C
n
i
f
(
i
)
怎么证?
一般证明反演的套路,我们带入一下
g(n)=∑i=0n(−1)n−iCin∑j=0ig(j)Cji
g
(
n
)
=
∑
i
=
0
n
(
−
1
)
n
−
i
C
n
i
∑
j
=
0
i
g
(
j
)
C
i
j
改变一下枚举顺序
g(n)=∑j=0ng(j)∑i=jn(−1)n−iCinCji
g
(
n
)
=
∑
j
=
0
n
g
(
j
)
∑
i
=
j
n
(
−
1
)
n
−
i
C
n
i
C
i
j
暴拆之后,我们发现一个式子
CinCji=CjnCn−in−j
C
n
i
C
i
j
=
C
n
j
C
n
−
j
n
−
i
替换一下
g(n)=∑j=0ng(j)∑i=jn(−1)n−iCjnCn−in−j
g
(
n
)
=
∑
j
=
0
n
g
(
j
)
∑
i
=
j
n
(
−
1
)
n
−
i
C
n
j
C
n
−
j
n
−
i
g(n)=∑j=0nCjng(j)∑i=jn(−1)n−iCn−in−j
g
(
n
)
=
∑
j
=
0
n
C
n
j
g
(
j
)
∑
i
=
j
n
(
−
1
)
n
−
i
C
n
−
j
n
−
i
后面的东西直接二项式定理
g(n)=∑j=0nCjng(j)(−1+1)n−j
g
(
n
)
=
∑
j
=
0
n
C
n
j
g
(
j
)
(
−
1
+
1
)
n
−
j
仅当 n−j=0 n − j = 0 ,即 n=j n = j , (−1+1)n−j ( − 1 + 1 ) n − j 才不为0
因此
g(n)=Cnng(n)=g(n)
g
(
n
)
=
C
n
n
g
(
n
)
=
g
(
n
)
证明完毕。
例题