浅谈二项式反演

今天因为这道题而短暂的接触了二项式反演,决定写一篇博客总结一下。

二项式反演

\(f_i\)表示恰好使用\(i\)个不同元素形成特定结构的方案数,\(g_i\)表示最多使用\(i\)个不同元素形成特定结构的方案数。
若已知\(f_i\)\(g_i\),则公式显然为:$$g_i=\sum_{j=0}^i {i \choose j}f_j$$
解析:从\(i\)个不同元素中选出\(j\)个元素,并乘上恰好使用\(j\)个不同元素形成特定结构的方案数,最后再将所有不同的\(j\)累加起来,即是\(g_i\)的元素。
若已知\(g_i\)\(f_i\),则公式为:$$f_i=\sum_{j=0}^i {i \choose j}{-1^{i-j}}g_j$$
证明:将\(g_j\)展开:

\[f_i={\sum_{j=0}^i {i \choose j}{-1^{i-j}}g_j}={\sum_{j=0}^i {i \choose j}{-1^{i-j}}(\sum_{k=0}^j {j \choose k}f_k)} \]

\(j\)提出:

\[f_i={\sum_{k=0}^i \sum_{j=k}^i {i \choose j}{j \choose k}{-1^{i-j}}f_k} \]

\[={\sum_{k=0}^i f_k \sum_{j=k}^i {i \choose j}{j \choose k}{-1^{i-j}}} \]

根据\({i \choose j}{j \choose k}={i \choose k}{{i-k} \choose {j-k}}\)得出:

\[f_i={\sum_{k=0}^i \sum_{j=k}^i {i \choose k}{{i-k} \choose {j-k}}{-1^{i-j}}f_k} \]

\[={\sum_{k=0}^i f_k {i \choose k} \sum_{j=k}^i {{i-k} \choose {j-k}}{-1^{i-j}}} \]

\(l=j-k\),则式子转换为:

\[f_i={\sum_{k=0}^i f_k {i \choose k} \sum_{l=0}^{i-k} {{i-k} \choose l}{-1^{i-l-k}}} \]

根据\(\sum_{i=0}^n{-1^i}{n \choose i}=[n=0]\)得出:

\[f_i=\sum_{k=0}^i f_k {i \choose k}[k=i] \]

\[=f_i \]

证毕。
所以$$g_i=\sum_{j=0}^i {i \choose j}f_j \Longleftrightarrow f_i=\sum_{j=0}^i {i \choose j}{-1^{i-j}}g_j$$
这就是二项式反演的形式二(以后有时间再补形式三和形式四吧)
(若有错误,欢迎指正)

posted @ 2025-04-01 23:53  CMY2013  阅读(42)  评论(0)    收藏  举报