zoukankan      html  css  js  c++  java
  • 二项式反演

    二项式反演

    第一种形式:

    \[f(n)=\sum\limits_{i=0}^n\dbinom{n}i{g(i)}\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^{n+i} \dbinom nif(i) \]

    • 证明:

      \[f(n)=\sum\limits_{i=0}^n\dbinom{n}i{g(i)}=\sum\limits_{i=0}^n\dbinom ni\sum\limits_{j=0}^i(-1)^{i+j}\dbinom ijf(j) \\ =\sum\limits_{j=0}^n\sum\limits_{i=j}^n\dbinom ni\dbinom ij(-1)^{i+j}f(j) \\ =\sum\limits_{j=0}^nf(j)\sum\limits_{i=j}^{n}\dbinom nj\dbinom {n-j}{i-j}(-1)^{i+j} \\ =\sum\limits_{j=0}^nf(j)\dbinom nj(-1)^{2j}\sum\limits_{i=0}^{n-j}\dbinom{n-j}{i}(-1)^i=f(n) \]

    第二种形式:

    \[f(n)=\sum\limits_{i=n}^m\dbinom in g(i)\Leftrightarrow g(n)=\sum\limits_{i=n}^m (-1)^{i-n} \dbinom in f(i) \]

    证明:

    \[f(n)=\sum\limits_{i=n}^{m} \dbinom in \sum\limits_{j=i}^m (-1)^{j-i}\dbinom ji f(j)\\ =\sum\limits_{j=n}^m \sum\limits_{i=n}^j\dbinom in \dbinom ji(-1)^{j-i}f(j)\\ =\sum\limits_{j=n}^mf(j)\dbinom jn \sum\limits_{i=0}^{j-n}\dbinom {j-n}{i}(-1)^{j-i-n}\\ =\sum\limits_{j=n}^mf(j)\dbinom jn (-1)^{n-j} \sum\limits_{i=0}^{j-n}\dbinom {j-n}{i}(-1)^{-i}=f(n) \]

    常用公式

    公式 1

    • \(f(n)=\sum\limits_{i=0}^n(-1)^i\dbinom ni g(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^i\dbinom ni f(i)\)

      证明:这个也是市面上的一种二项式反演。

      \[f(n)=\sum\limits_{i=0}^n(-1)^i\dbinom ni \sum\limits_{j=0}^i(-1)^j \dbinom ij f(j)\\ =\sum\limits_{j=0}^nf(j)\dbinom nj \sum\limits_{i=0}^{n-j}(-1)^{i+2j}\dbinom {n-j}{i}=f(n) \]

    公式 2

    • \(f(S)=\sum\limits_{S\subseteq T}g(T)\Leftrightarrow g(S)=\sum\limits_{S \subseteq T}(-1)^{|T|-|S|}f(T)\)

      证明:这个也被称作子集反演。

      \[g(S)=\sum\limits_{S \subseteq T} (-1)^{|T|-|S|} f(T)\\ =\sum\limits_{S \subseteq T}(-1)^{|S|-|T|}\sum\limits_{T \subseteq U} g(U)\\ =\sum\limits_{S\subseteq U}g(U)\sum\limits_{T'\subseteq U-S}(-1)^{|T'|}\\ =\sum\limits_{S\subseteq U}g(U)\sum\limits_{k=0}^{|U-S|}(-1)^k\dbinom{|U-S|}{k}\\ =\sum\limits_{S\subseteq U}g(U)[(U-S)=\varnothing]=g(S) \]

    公式 3

    • \(f(n,m)=\sum\limits_{i=0}^n\sum\limits_{j=0}^m \dbinom{n}{i}\dbinom mj g(i,j)\Leftrightarrow g(n,m)=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\dbinom ni \dbinom mj (-1)^{n+m-i-j} f(i,j)\)

    证明与之前类似,这里不再证明。

    这里简单一题,整个二项式反演不管是一元函数,二元函数,还是说我认为也可以推广到多元函数,只有两个变化,第一个是和式到底是从 \(0\) 开始还v是从 \(n,m\) 开始 ,第二个是乘上的 \((-1)\) 的多少次方。那么不管是从 \(0\) 开始还是从 \(n,m\) 开始,后面乘上的这个项的系数要么两边都是 \(i+j\) ,要么第一个式子没有后面是 \(n+m-i-j\),前者开始项的改变只改变二项式系数。

    所以我们可以轻易得到其余的三个二元二项式反演。

    上面这段话所表示的规律也可以推广到子集反演上面。

  • 相关阅读:
    刚刚找到的IP地址对应地区数据库
    SQL2000中像SQL2005中的Row_Number一样获取行号
    KindEditor3.4.4版的ASP.NET版本
    使用程序代码输出论坛回复第X层楼
    IIS上启用Gzip压缩(HTTP压缩)详解(PDF)
    ASP.NET中过滤HTML字符串的两个方法
    七个受用一生的心理寓言
    Android获取其他包的Context实例然后XX(转载)
    android junit基础教程
    java获取web容器地址
  • 原文地址:https://www.cnblogs.com/TianMeng-hyl/p/15758136.html
Copyright © 2011-2022 走看看