二项式反演

二项式反演有两种常见的形式

形式一

fif_i 表示恰好使用 ii 个元素、且满足条件的方案数,gng_n 表示从 nn 个元素选出 i(i[0,n])i(i\in[0,n]) 个元素、且满足条件的方案数,则根据定义有

另一种理解方法:gng_n 表示至多 nn 个元素的方案数,fnf_n 表示恰好 nn 个元素的方案数

gn=i=0n(ni)fi g_n=\sum_{i=0}^n \binom{n}{i} f_i

通过二项式反演,我们可以通过 gig_i 求出 fif_i.

fn=i=0n(ni)(1)nigi f_n=\sum_{i=0}^n\binom{n}{i}(-1)^{n-i} g_i
证明

形式二

另一种理解方法:gng_n 表示至少 nn 个元素的方案数,fnf_n 恰好 nn 个元素的方案数

gk=i=kn(ik)fi g_k=\sum_{i=k}^n \binom{i}{k} f_i

通过二项式反演,我们可以通过 gng_n 求出 fnf_n

fk=i=kn(1)ik(ik)gi f_k=\sum_{i=k}^n (-1)^{i-k} \binom{i}{k} g_i