标签:直接 sum 反演 choose Leftrightarrow 二项式 式子
二项式反演
设 \(f(n)\) 表示 \(n\) 个补集的交集大小,\(g(n)\) 表示 \(n\) 个原集的交集的大小。
\[f_n = \sum_{i=0}^n (-1)^i {n \choose i} g_i \Leftrightarrow g_n = \sum_{i=0}^n (-1)^i {n \choose i} f_i \]\[f_n = \sum_{i=0}^n {n \choose i} g_i \Leftrightarrow g_n = \sum_{i=0}^n (-1)^{n-i} {n \choose i} f_i \]\[f_k=\sum_{i=k}^n {i\choose k} g_i\Leftrightarrow g_k=\sum_{i=k}^n (-1)^{i-k} {i\choose k} f_i \]这里证明就只证明一下二式吧
\[f(n)=\sum\limits_{i=0}^n{n\choose i}g(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^{n-i}{n\choose i}f(i) \]这个证明的话,就是直接带入法
将 \(f\) 式子带入到 \(g\) 的式子中,得到
\[g(n)=\sum_{i=0}^{n}(-1)^{n-i}{n\choose i}\sum_{j=0}^{i}g(j){i\choose j} \]我们将 \(j\) 的枚举提前,这个是反演的基本操作
\[g(n)=\sum_{j=0}^{n}g(j)\sum_{i=j}^{n}(-1)^{n-i}{n\choose i}{i\choose j} \]然后就直接把后面这个拆开
\[{n\choose i}{i\choose j}=\frac{n!}{i!(n-i)!}×\frac{i!}{j!(i-j)!} \]这个时候就直接把 \(i!\) 消掉,再上下同时乘上 \((n-j)!\) 就直接变成了下面的等式
\[{n\choose i}{i\choose j}={n\choose j}{n-j\choose n-i} \]直接在原来的式子中替换它
\[g(n)=\sum_{j=0}^{n}g(j)\sum_{i=j}^{n}(-1)^{n-i}{n\choose j}{n-j\choose n-i} \]那前面那个组合数已经和 \(i\) 没有关系了,直接提出来
\[g(n)=\sum_{j=0}^{n}{n\choose j}g(j)\sum_{i=j}^{n}(-1)^{n-i}{n-j\choose n-i} \]我们就直接吧后面那个 \(i\) 改一下从 \(i=0\) 枚举到 \(n-j\)然后就直接用二项式定理
\[g(n)=\sum_{j=0}^{n}{n\choose j}g(j)\sum_{i=0}^{n-j}(-1)^{i}{n-j\choose i} \]\[g(n)=\sum_{j=0}^{n}{n\choose j}g(j)(-1+1)^{n-j} \]后面的这个式子只有在 \(n=j\) 的时候才成立,所以得证
标签:直接,sum,反演,choose,Leftrightarrow,二项式,式子 来源: https://www.cnblogs.com/spaceswalker/p/16483390.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。