今天因为这道题而短暂的接触了二项式反演,决定写一篇博客总结一下。
二项式反演
设\(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\)展开:
将\(j\)提出:
根据\({i \choose j}{j \choose k}={i \choose k}{{i-k} \choose {j-k}}\)得出:
令\(l=j-k\),则式子转换为:
根据\(\sum_{i=0}^n{-1^i}{n \choose i}=[i=0]\)得出:
证毕。
所以$$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$$
这就是二项式反演的形式二(以后有时间再补形式三和形式四吧)
(若有错误,欢迎指正)