二项式反演(非详细)
Posted Jozky86
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二项式反演(非详细)相关的知识,希望对你有一定的参考价值。
引入
二项式反演又名广义容斥定理
二项式反演可以表示成:
f
[
n
]
=
∑
i
=
0
n
(
−
1
)
i
C
n
i
g
i
⟺
g
n
=
∑
i
=
0
n
(
−
1
)
i
C
n
i
f
[
i
]
f[n]=\\sum_{i=0}^n(-1)^iC_{n}^{i}g_{i}⟺g_{n}=\\sum_{i=0}^{n}(-1)^iC_{n}^{i}f[i]
f[n]=∑i=0n(−1)iCnigi⟺gn=∑i=0n(−1)iCnif[i]
常用表达为:
f
[
n
]
=
∑
i
=
0
n
C
n
i
g
[
i
]
⟺
g
[
n
]
=
∑
i
=
0
n
(
−
1
)
n
−
i
C
n
i
f
[
i
]
f[n]=\\sum_{i=0}^{n}C_{n}^ig[i]⟺g[n]=\\sum_{i=0}^{n}(-1)^{n-i}C_{n}^if[i]
f[n]=∑i=0nCnig[i]⟺g[n]=∑i=0n(−1)n−iCnif[i]
证明详见:二项式反演理解与证明
应用
恰好和至多的转换:
设
f
[
i
]
f[i]
f[i]表示恰好的方案数,
g
[
i
]
g[i]
g[i]表示至多的方案数,则有:
g
[
n
]
=
∑
i
=
0
n
C
n
i
∗
f
[
i
]
g[n]=\\sum_{i=0}^nC_{n}^i*f[i]
g[n]=∑i=0nCni∗f[i]
根据二项式反演有:
f
[
n
]
=
∑
i
=
0
n
(
−
1
)
n
−
i
∗
C
n
i
∗
g
i
f[n]=\\sum_{i=0}^n(-1)^{n-i}*C_{n}^i*g_i
f[n]=i=0∑n(−1)n−i∗Cni∗gi
g
i
g_i
gi可以在很短的时间内求出,再用g求f就得到答案
恰好和至少的转换:
设
f
(
i
)
表
示
恰
好
有
i
个
的
方
案
数
,
g
(
i
)
至
少
有
i
个
的
方
案
数
f(i)表示恰好有i个的方案数,g(i)至少有i个的方案数
f(i)表示恰好有i个的方案数,g(i)至少有i个的方案数
有式子:
g
(
i
)
=
∑
x
=
i
n
C
x
i
∗
f
(
x
)
g(i)=\\sum_{x=i}^{n}C_{x}^i*f(x)
g(i)=∑x=inCxi∗f(x)
根据二项式反演有:
f
(
i
)
=
∑
x
=
i
n
(
−
1
)
x
−
i
∗
C
x
i
∗
g
(
x
)
f(i)=\\sum_{x=i}^n(-1)^{x-i}*C_{x}^i*g(x)
f(i)=∑x=in(−1)x−i∗Cxi∗g(x)
球染色问题:n个球,k个颜色,求满足相邻颜色不同,每种颜色至少出现一次的方案数
解决方案:如果忽略每种颜色至少出现一次的限制,那么方案数就是
k
(
k
−
1
)
n
−
1
k(k-1)^{n-1}
k(k−1)n−1,就是一次安排颜色,除了第一次k个随便放,之后每次都是只能选k-1个(因为要和上一个不同)
设
f
i
f_i
fi表示恰好使用i种颜色的方案数。
g
k
g_k
gk表示n个球,用了k种颜色,不强制每种颜色必须出现的方案数。那么问题就是求
f
n
f_n
fn
先将函数
f
f
f与
g
g
g建立联系
g
[
k
]
=
k
(
k
−
1
)
n
−
1
=
∑
i
=
0
k
C
k
i
∗
f
[
i
]
g[k]=k(k-1)^{n-1}=\\sum_{i=0}^kC_{k}^i*f[i]
g[k]=k(k−1)n−1=i=0∑kCki∗f[i]
我们反演可得:
f
[
k
]
=
∑
i
=
0
k
C
k
i
∗
g
[
i
]
f[k]=\\sum_{i=0}^{k}C_{k}^{i}*g[i]
f[k]=∑i=0kCki∗g[i]
f
[
k
]
=
∑
i
=
0
k
C
k
i
∗
(
−
1
)
k
−
i
∗
g
[
i
]
f[k]=\\sum_{i=0}^{k}C_{k}^i*(-1)^{k-i}*g[i]
f[k]=∑i=0kCki∗(−1)k−i∗g[i]
例题:
hdu P1465:最不容易系列之一
luogu P4859 已经没有什么好害怕的了
[NOI Online #2 T3]游戏
以上是关于二项式反演(非详细)的主要内容,如果未能解决你的问题,请参考以下文章