反演
定义
[F(n)=sum_{i=0}^n a_{n,i} imes G(i)
]
对于用 (F) 来表示 (G) 的过程称为反演,有
[G(n)=sum_{i=0}^n b_{n,i} imes F(i)
]
那么 (a) 和 (b) 满足什么关系?直接带入 (G(i))。
[F(n)=sum_{i=0}^n a_{n,i} sum_{j=0}^i b_{i,j} imes F(j)
]
考虑交换枚举顺序,枚举 (F(j)),再计数 (F(j)) 被计算了多少次。
[F(n)=sum_{j=0}^n F(j) sum_{i=j}^n a_{n,i} imes b_{i,j}
]
上式成立,当且仅当
[sum_{i=j}^n a_{n,i} imes b_{i,j}=[j=n]
]
二项式反演
公式一
[F(n)=sum_{i=0}^n (-1)^i inom{n}{i} G(i) Leftrightarrow G(n)=sum_{i=0}^n (-1)^i inom{n}{i} F(i)
]
证明
令 (a_{n,i}=b_{n,i}=(-1)^i inom{n}{i})
那么就有
[sum_{i=j}^n a_{n,i} imes b_{i,j}=sum_{i=j}^n (-1)^{i+j} inom{n}{i}inom{i}{j}=(*)
]
后面两个二项式系数可以简单变换
[(*)=sum_{i=j}^n (-1)^{i+j} inom{n}{j} inom{n-j}{i-j}
]
再用 (i+j) 替换 (i) ,注意指标范围
[(*)=inom{n}{j}sum_{i=0}^{n-j} (-1)^i inom{n-j}{i}
]
当 (n eq j) 后面可以用二项式定理化掉,
[(*)=inom{n}{j}(1-1)^{n-j}=0
]
当 (n=j) ,容易发现后面 ((*)=1)
那么就有 ((*)=[n=j]),得证。
公式二
对公式一进行简单变换,令 (H(n)=(-1)^n G(n)),那么就有
[F(n)=sum_{i=0}^n inom{n}{i} H(i) Leftrightarrow frac{H(n)}{(-1)^n}=sum_{i=0}^n (-1)^{i} inom{n}{i} F(i)
]
事实上,下指标无需从 (0) 开始。那么对任意 (min[0,n]) ,有
[F(n)=sum_{i=m}^n inom{n}{i} G(i) Leftrightarrow G(n)=sum_{i=m}^n (-1)^{n-i} inom{n}{i} F(i)
]
公式三
[F(n)=sum_{i=n}^m inom{i}{n} G(i) Leftrightarrow G(n)=sum_{i=n}^m (-1)^{i-n} inom{i}{n} F(i)
]
证明略,只需一些简单的代数运算。