众所周知,小葱同学擅长计算,尤其擅长计算组合数。
写在前面
- 现在我们不讨论某钟姓长者出的一系列【组合数问题】,而是讨论在高中数学中遇到的一些值得玩味的组合数问题。
- 本文中的组合数均为狭义组合数,也就是说
Cnm必须满足
n,m∈N,0≤m≤n。
- 本文对于涉及到的题目只给出解析,不一定给出完整解答过程。因为这是一篇随笔而不是参考答案。
- 并不是每一道题我都能记得它的来源。更确切地说,几乎没几道题我能记得住它的来源。
- 题目难度并不是递增的。
问题0. [热身题]化简:
k=0∑mCnkCmk,其中
m,n∈N,m≤n。
解析 这里有一个重要的恒等式:
CnmCmk=CnkCn−km−k。你可以把它们展开成阶乘的形式来证明,但我们还可以给出一个组合推理的证明:假设班里有
n个人,现在要从其中选出
m个人成为团员,再从这
m人中选出
k个人成为团委;那么我们可以先从
n人中选出
k个团委,再从剩下的
n−k个人中选出
m−k个人,他们是团员但不是团委。
于是将这个恒等式变形得到
CnkCmk=CnmCn−km−k
那么原式
=k=0∑mCnmCn−km−k=Cnm1k=0∑mCn−km−k=Cnm1k=0∑mCn−kn−m
接下来可以使用一些处理含有
∑的式子的一些技巧,不过这里也许展开更加明显:
原式
=Cnm1(Cnn−m+Cn−1n−m+Cn−2n−m+⋯+Cn−mn−m)
这个式子我们再熟悉不过啦!它就是
Cnm1Cn+1n−m+1,再展开成阶乘的形式化简即可。
问题1. [苏锡常镇一模2019]已知函数
f(n)=i=2∑nC2i+2i+1C2ii,g(n)=i=2∑nC2i+2i+1C2ii+2,其中
n∈N∗,n≥2。
设函数
h(n)=f(n)−g(n),求证:
∀m∈N∗,m≥2,h(2m)>2m−1。
解析
h(n)=i=2∑nC2i+2i+1C2ii−C2ii+2,将组合数全部展开成阶乘的形式并化简可得
h(n)=i=2∑ni+21。然后就和组合数没什么关系了。
考虑数学归纳法。首先
m=2时,
h(4)=6037>21成立。
假设当
m=k(k∈N∗,k≥2)时,
h(2k)=i=2∑2ki+21>2k−1,
则当
m=k+1时,
h(2k+1)=h(2k)+i=2k+1∑2k+1i+21>2k−1+i=2k+1∑2k+1i+21
我们希望证明它大于
2k,两边消去
2k后也就是要证明
i=2k+1∑2k+1i+21>21
左边这个和式看起来没有任何的突破口,因为它的求和项不带有根式、对数、平方、指数之类的很有个性的元素。(这些东西总是可以按照一些套路来放缩,比如有理化、分离常数、裂项之类的)
等等,似乎…指数是有的。它是从
2k+31开始加起,加到
2k+1+21。也就是说这中间每一项都含有一个指数
2k,我们可以尝试这样一个放缩,将中间的每一项都缩小为最后一项:
i=2k+1∑2k+1i+21>i=2k+1∑2k+12k+1+21=2(2k+1)2k+1−2k=2k+12k−1
然而不幸的是,这个放缩结果与我们希望得到的
21差了那么一点点:
2k+12k−1<2k2k−1=21。
但这其实暗示了我们,这样的放缩思路是正确的,只是我们“放过头了”。那么你应该知道接下来怎么办。
尝试保留第一项得到
2k+31+i=2k+2∑2k+12k+1+21=2k+31+2k+1+22k+1−2k−1,再往下推发现它还是小于
21。
仍不甘心,保留前两项:
2k+31+2k+41+2k+1+22k+1−2k−2=2k+31+2k+41+2k+12k−1−1。继续推下去最终会发现,当
22k>3⋅2k+22的时候这个式子大于
21,这时
k≥3。
所以我们需要对整个数学归纳法的结构作一些微调。先单独验证
m=2的情形,然后将
m=3作为归纳基础,再假设当
m=k(k≥3,k∈N∗)时成立,然后按照保留前两项的方法证下去就好了。
问题2. 设函数
Fn(x)=i=0∑n(−1)iCnix+ix,其中
x可以取任何使得表达式有意义的实数,
n∈N∗。
求证:
Fn(x)=(x+1)(x+2)⋯(x+n)n!。
解析 考虑数学归纳法。首先
n=1时,
F1(x)=x+11成立。
假设
n=k(k∈N∗)时
Fk(x)=i=0∑k(−1)iCkix+ix=(x+1)(x+2)⋯(x+k)k!
那么
n=k+1时,
Fk+1(x)=i=0∑k+1(−1)iCk+1i(1−x+ii)
=i=0∑k+1(−1)iCk+1i−i=0∑k+1(−1)iiCk+1ix+i1
因为
k∈N∗,所以
k+1>0,左边的式子就是
(1−1)k+1=0。
而右边出现了我们喜欢的
iCk+1i,利用吸收恒等式:
iCk+1i=(k+1)Cki−1
那么
Fk+1(x)=−i=1∑k+1(−1)i(k+1)Cki−1x+i1
=(k+1)i=0∑k(−1)iCkix+i+11(这里我们对求和指标
i作了一个平移)
=x+1k+1i=0∑k(−1)iCkix+1+ix+1=x+1k+1Fk(x+1)
根据归纳假设,它等于
x+1k+1⋅(x+2)(x+3)⋯(x+k+1)k!=(x+1)(x+2)⋯(x+k+1)(k+1)!,成立。
似乎就是个普通的数学归纳法,没什么花样啊?GKxx陷入了思考…于是就有了下面这道题:
问题2++. 设函数
Gn(x)=i=0∑n(−1)iCni(x+1)(x+2)⋯(x+i)i!,
x,n的取值集合同上。
求证:
Gn(x)=x+nx。
解析 似乎就是把上一题的式子反了一下?(数学的对称之美)
从上一题到这一题的变化其实是下面这个事实的一个特例:
如果
fn=i=0∑n(−1)iCnigi,那么
gn=i=0∑n(−1)iCnifi。
下面给出证明:首先将
fi代入
i=0∑n(−1)iCnifi=i=0∑n(−1)iCnij=0∑i(−1)jCijgj
=i=0∑n(−1)ij=0∑i(−1)jCniCijgj
我又看见你了!
CniCij=CnjCn−ji−j,它就是我们在问题0中证过的式子。这里利用它的好处在于,得到的
Cnj与
i无关,方便我们交换求和符号。什么你问我为什么要交换求和符号?因为我想把
gj提前面一点。
交换求和符号的道理其实很简单:
i=0∑nj=0∑iaij=j=0∑ni=j∑naij。为何
i的下界取
j?因为在交换之前的式子中始终有
i≥j。
于是上面的式子
=j=0∑nCnjgji=j∑n(−1)i+jCn−ji−j
=j=0∑nCnjgji=0∑n−j(−1)i+2jCn−ji(这里对
i作了一个平移,从
[j,n]平移到了
[0,n−j])
=j=0∑nCnjgji=0∑n−j(−1)iCn−ji
注意到右边这个和式当且仅当
n−j=0时值为
1,否则为
(1−1)n−j=0。因此上式
=gn,得证。
这其实是一个著名的公式:二项式反演。它还有两个类似的形式:
fn=i=0∑nCnigi⇔gn=i=0∑n(−1)n−iCnifi
fn=(−1)ni=0∑nCnigi⇔gn=(−1)ni=0∑nCnifi
这两个公式的证明跟第一个几乎一模一样,所以甚至不配留作习题。
有了二项式反演,问题2++便迎刃而解。
事实上,如果引入了广义组合数,这题会有更加巧妙的不依赖反演的解法。
问题3. [简单题]化简
Tn=i=0∑nC3n3i。
解析 组合数的下标多了一个常数
3,这不是一件好事。如果没有切实可行的方法消去这个常数,我们只能想办法铺设一些台阶来做事。所谓的“台阶”,也就是递推关系。
考察:
Tn+1=i=0∑n+1C3n+33i
前面已经说过,本文只使用狭义组合数,所以为了避免麻烦,将首项和末项都拿出来:
Tn+1=2+i=1∑nC3n+33i
利用帕斯卡恒等式
Cnm=Cn−1m+Cn−1m−1来减少下标
3n+3,想办法把它减少到
3n:
Tn+1=2+i=1∑n(C3n3i+3C3n3i−1+3C3n3i−2+C3n3n−3)
=2+i=1∑nC3n3i+i=1∑nC3n3(n−1)+3i=1∑n(C3n3i−2+C3n3i−1)
前面两个和式很好处理,第一个就是
Tn去掉首项,第二个就是
Tn去掉末项。第三个和式的结果不太容易看出来,不妨把它展开:
=2Tn+3(C3n1+C3n2+C3n4+C3n5+⋯+C3n3n−2+C3n3n−1)
发现后面这一串就是
23n−Tn!于是我们得到了递推关系
Tn+1=−Tn+3⋅8n
这个递推关系的求解方法就多了去了,可以用待定系数,或者累加,甚至可以用生成函数(高考可能不让用?),如果你本事大可以猜出通项后用数学归纳法等等。
问题4. 设函数
fn(x)=i=0∑n(−1)iCni(x−i)n,其中
n∈N∗。求证
fn(x)=n!。
解析 反演?别想了。后面这个
(x−i)n既有
i又有
n,并不能套得上反演公式。
试一试大力数学归纳法吧。首先
n=1时结论成立。
假设
n=k时
fk(x)=i=0∑k(−1)iCki(x−i)k=k!,则当
n=k+1时
fk+1(x)=i=0∑k+1(−1)iCk+1i(x−i)k(x−i)
=xi=0∑k+1(−1)iCk+1i(x−i)k−i=1∑k+1(−1)iiCk+1i(x−i)k
后面出现了我们喜欢的
iCk+1i,可以吸收,那先化简后面的和式:
−i=1∑k+1(−1)i(k+1)Cki−1(x−i)k=(k+1)i=0∑k(−1)iCki(x−1−i)k=(k+1)fk(x−1)=(k+1)!
所以
fk+1(x)=xi=0∑k+1(−1)iCk+1i(x−i)k+(k+1)!。接下来为了应用归纳假设,要想办法把组合数的下标改成
k,我们想到帕斯卡恒等式。在使用前先把首项末项拿出来。
fk+1(x)=xk+1−x(k+1−x)k+xi=1∑k(−1)i(Cki+Cki−1)(x−i)k+(k+1)!
=xk+1−x(k+1−x)k+xi=1∑k(−1)iCki(x−i)k+xi=1∑k(−1)iCki−1(x−i)k+(k+1)!
=xk+1−x(k+1−x)k+x(fk(x)−xk)−xi=1∑k(−1)i−1Cki−1(x−i)k+(k+1)!
前面可以消去
xk+1,后面的和式对
i平移一下:
=xfk(x)−x(k+1−x)k−xi=0∑k−1(−1)iCki(x−1−i)k+(k+1)!
=xfk(x)−x(k+1−x)k−x(fk(x−1)−(k+1−x)k)+(k+1)!
=xfk(x)−xfk(x−1)+(k+1)!=(k+1)!
得证。
所以其实这题就是告诉我们,做题一定要耐心和细心。
问题5. 现在有
m+n个抽屉,编号从
1到
m+n,另有一个袋子中有
n个黑球和
m个白球。这些球除了颜色之外完全相同。重复以下操作
m+n次,第
i次操作从袋子里随机摸出一个球来放入编号为
i的抽屉。设
ξ表示最后一个黑球所在的抽屉的编号的倒数。求证:
E(ξ)<(m+n)(n−1)n。其中
E(ξ)表示
ξ的数学期望值。
解析 显然
ξ的所有可能取值为
n+11,n+21,⋯,m+n1。
考虑如何计算
P(ξ=i1),即最后一个黑球放在第
i个抽屉的概率。总方案数显然是
Cm+nn,其中我们需要让前
i−1个抽屉里有
n−1个放了黑球,并且第
i个抽屉也放黑球,因此
P(ξ=i1)=Cm+nnCi−1n−1。
则
E(ξ)=i=n∑m+ni1P(ξ=i1)=i=n∑m+ni1Cm+nnCi−1n−1=Cm+nn1i=n∑m+ni1Ci−1n−1
如果要求出
E(ξ)的闭形式,接下来最理想的就是想办法将
i1吸收进组合数。不幸的是
i1和
Ci−1n−1并不能应用吸收恒等式。
但事实上我们并不需要求出
E(ξ)的闭形式,因为我们最后要证明的是一个不等式。所以我们可以考虑在中途对式子加以改造——放缩。注意到
i1<i−11,而
i−11Ci−1n−1=n−11Ci−2n−2可以吸收。所以
E(ξ)<Cm+nn1i=n∑m+ni−11Ci−1n−1=Cm+nn1n−11i=n∑m+nCi−2n−2
后面的和式就是
Cm+n−1n−1。因此证到
E(ξ)<Cm+nn(n−1)Cm+n−1n−1=(m+n)(n−1)n。