二项式系数

二项式系数

定义

首先定义阶乘:

对于任意nN,定义n的阶乘n!=n(n1)1=i=1ni
再来定义二项式系数(组合数)

我们用符号(nk)表示二项式系数,其中n为上标,k为下标。

  1. 数学定义:

{(nk)=n!k!(nk)!(nN,kN)(nk)=0(kZ,k>n)(nk)=0(kZ,k<0)

简单来说,即为二项式系数的上标为自然数,而二项式系数的下标为小于等于上标的整数,当下标小于零时,式值为零

  1. 组合定义:
    二项式系数(nk)表示从n个不同物品中选出恰好k个的方案数。n,kN

证明:首先从n个数选出1个,有n种方法,再选第二个,有n1种方法,以此类推,则有i=nk+1ni=n!(nk)!

然后再由于我们需要去重,一个长度为k的序列有k!种排列,故有n!k!(nk)!种可能,得证。

二项式定理

(x+y)n=k=0n(nk)xkynk

证明

从二项式拆解的角度来说:

首先来证明,(x+y)n中每一项的指数和都为n,在每一次多乘上一个(x+y)时,会将每一项的指数都加一,而最初的一次方的系数为1,故得证。

再来证明系数为二项式系数。我们设(x+y)n=k=0nf(n,k)xkynk。这里由于加法的交换律,x,y具有对称性,故f(n)同样具有对称性。

此时再来看(x+y)n+1=(x+y)n(x+y),就有:

(x+y)n+1=k=0n+1f(n+1,k)xkynk+1=xk=0nf(n,k)xkynk+yk=0nf(n,k)xkynk

简单平移一下求和下标,就有:

k=0n+1f(n+1,k)xkynk+1=k=0n(f(n,k1)+f(n,k))xkynk+1

由于系数一一对应,故有f(n+1,k)=f(n,k)+f(n,k1),f(i,0)=f(i,i)=1(iN+)

我们再来看另一个关于二项式系数的式子:

(n+1k)=(nk)+(nk1)

对于这一步,证明方法也比较多,这里介绍组合意义的证明方法,也有根据定义的简单代数证明。

左式的组合意义是在n+1个不同物品中选出k个,这等价于不选择第一个,在后面的n的中选出k个,与选出第一个,在后面的n个选出k1个的方案数之和,即右式的组合意义,故得证。

而容易发现,二项式系数也具备此性质:(nn)=(n0)=1

故二者递推式等价,初始值等价,也即二者相等。

这样引申一个东西:

加法公式推论

推论1:上指标求和公式

考虑将加法公式这样写:

(nk)=(n1k)+(n1k1)=(n1k1)+(n2k1)+(n2k)

继续这样化简,化简到最后应该是这样的

(nk)=(n1k1)+(n2k1)+(n3k1)(0k1)+(0k)

因为当上指标小于下指标时,二项式系数值为0,所以可以看作:

(nk)=i=0n1(ik1)=i=k1n1(ik1)

当然,我们平时用得更多的是另一个写法:

i=0n(ik)=(n+1k+1)

它的名字是:上指标求和公式

推论2:平行求和公式

第一个推论我们拆开了前半个式子,这次我们考虑拆开后半个式子

按部就班的化简,有:

(nk)=(n1k)+(n2k1)+(n3k2)++(nk1kk)+(nk1kk1)

故换一种写法得到:(nk)=i=0k(nk+i1i)

注意到,此时n,nk1都是定值,不妨设m=nk1,n=m+k+1,就得到:

(m+k+1k)=i=0k(m+ii)

它的名字是:平行求和公式

得名的原因是就像0与m+1平移了了k个位置

现在,言归正传,回到二项式定理的变形

常见变形

特殊情况

这些变形很常用哦

(1+x)n=k=0n(nk)xk

这个式子的威力在于:令x=1,就能马上得到:2n=k=0n(nk)

这个式子其实有一个组合证明:对于0到n都选,等价于每个东西可选可不选。
(1x)n=k=0n(1)k(nk)xk

这个式子也非常厉害,具体在于:令x=1,就得到:

k=02k+1n(n2k+1)k=02kn(n2k)=0

换句话说即为下指标为偶数的二项式系数之和等于下指标为奇数的二项式系数之和。

这里还有一个引申结论:也即因为左边二式值和为2n,故有:

k=02k+1n(n2k+1)=k=02kn(n2k)=2n1

事实上,这个式子还有另一种证明方法,也即将2n1写作k=0n1(n1k),然后减过去,逆用加法公式即可得到另一个式子。

范德蒙德卷积

下面,我们要来一个激动人心的事情了!

考虑(1+x)r=i=0r(ri)xi,(l+x)s=k=0s(sk)xk

所以:

(1+x)r+s=i=0r+s(r+si)xi=(i=0r(ri)xi)·k=0s(sk)xk

对于右式,改动一下求和下标,变成:

k=0r+s(i=0k(ri)·(ski))xk

明显x的每一项系数相等,这就有:

i=0k(ri)·(ski)=(r+sk)

这即为著名的范德蒙德卷积,一个非常常用的恒等式。

多项式定理

首先来定义多项式系数:

(nn1,n2nt)=n!k=1tnk!

其中:k=1tnk=n,i[1,t],ni0

当然,多项式系数也具备一个性质:

(nn1,n2nt)=k=1t(n1n1,,nk1,nk+1,nt)

这里,事实上,每一个多项式系数都可以写作若干个二项式系数的乘积,这主要是由一个恒等式:

(nm)(mk)=(nk)(nkmk)得出的

我们这样考虑多项式定理的推导

(x1+x2++xt)n连续运用t1次二项式定理,最终项x1n1x2n2xtnt的系数为

(nn1)(nn1n2)(nn1n2n3)(nk=1t1nknt)

对于这个式子,用二项式系数的展开式,最后会化简出n!k=1tnk!,也即(nn1,n2,,nt)

故多项式定理为:

(k=1txk)n=(nn1,n2,,nt)x1n1x2n2xtnt

二项式恒等式

有一说一,常用的恒等式在之前已经有说过,这里再次将其列出:

Name Place
定义式 (nk)=n!k!(nk)! 开头
对称式 (nk)=(nnk) 定义式推论
吸收式 (nk)=nk(n1k1) 定义式 推论
加法式 (nk)=(n1k)+(n1k1) 二项式定理证明处
三项式恒等式 (nk)(km)=(nm)(nmkm) 多项式定理处
上指标求和公式 (n+1k+1)=i=0n(ik) 加法式推论
平行求和公式 i=0k(m+ii)=(m+k+1k) 加法式推论
二项式定理 (x+y)n=k=0n(nk)xkynk 二项式定理
范德蒙德卷积 i=0k(ri)·(ski)=(r+sk) 二项式定理推论

km=i=0m(k1)m1(mi)

二项式反演

四个形式

形式1

g(n)=i=0n(1)i(ni)f(i)f(n)=i=0n(1)i(ni)g(i)

对于此式的证明,可以考虑高阶差分,应用也主要是体现在函数的差分上

形式2

g(n)=i=nN(1)i(in)f(i)f(n)=i=nN(1)i(in)g(i)

形式3(常用)

g(n)=i=0n(ni)f(i)f(n)=i=0n(1)ni(ni)g(i)

形式4(常用)

g(n)=i=nN(in)g(i)f(n)=i=nN(1)in(in)g(i)

具体应用

方法总览概述

一般来讲,在非纯数学领域,形式一二基本没有用处,我们现在来看形式三四,实质上,这就是容斥原理。

设有一个问题f(x),是求恰好x个的问题

那么我们可以将其转化:设g(x)是求解同类问题,只不过是要求最多x个,那么就容易得到:

g(n)=i=0n(ni)f(i)

所以我们可以反演出原问题f(n),有:

f(n)=i=0n(1)ni(ni)g(i)

一般来讲求至多至少都更加容易,所以二项式反演实际上是一个由容斥为原理的转化问题方式。

类似的,令g(x)表示为至少x个的方案数,而N为上界,容易得到

g(n)=i=nN(in)f(i)

此时利用形式4也可以反演出答案

常见形式证明

下面我们从代数和组合两个角度论证形式3的成立,形式4雷同(1,2不常用,略去)

代数

考虑将反演后的式子逆推回反演前

i=0n(1)ni(ni)g(i)=i=0n(1)i(ni)g(ni)

拆开g,变为

i=0(1)i(ni)·k=0nif(k)(nik)

(ni)改写为(nni)并吸收进后式,采用之前表中的三项式恒等式,有(nni)(nik)=(nk)(nki)

然后我们交换求和下标,改为求和k,即为

k=0nf(k)(nk)i=0nk(nki)(1)i

现在我们来关注后半截式子,发现它在我们说二项式定理的变形时提到过,其值为零,故f(k)的系数为0,也即被消去,但需要注意的是一个特殊情况,也即当n=0时,根据定义有:(00)=1,故有且仅有f(n)的系数为1,其余全零,故可以得到原式等价于f(n)

Q.E.D

组合

那么也就不难思考反演形式的组合意义了,再次写下反演式

g(n)=i=0n(ni)f(i)f(n)=i=0n(1)ni(ni)g(i)

从组合角度论,也是论g(n)包含的f的数量来容斥,容斥的过程与代数的最后证明系数为0的过程类似,略去

posted @   spdarkle  阅读(1127)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示