被教练分到了讲组合数,所以干脆写篇博客总结一下之前在《具体数学》中看到的公式
组合数,又称二项式系数,最早是由一类问题定义的:
n 个两两不相同的东西,任意选出 m 个,有多少种不同的方案?
这个问题的答案被称作组合数,记做 (C_n^m) 或 (inom nm),满足下列定义式:
[forall n,min mathbb{N},mleq n,C_n^m=inom nm=frac{n!}{m!(n-m)!}
]
其中 n 被称为上指标,m 被称为下指标。(n!) 为阶乘,满足 (0!=1,forall nin mathbb{N+},n!=ncdot (n-1)!=n(n-1)(n-2)cdots1)。
后来又有了牛顿二项式展开:
[(a+b)^n=sum_{k=0}^ninom nka^kb^{n-k}
]
从而可以写出对于给定的 (n),(inom nk) 的生成函数:
[G_n(x)=(1+x)^n=sum_k inom nk x^k
]
而如果定义下降幂:
[forall nin mathbb{R},min mathbb{N+},n^{0downarrow}=1,n^{mdownarrow}=ncdot (n-1)^{(m-1)downarrow}=n(n-1)(n-2)cdots(n-m+1)
]
我们可以扩展组合数的定义使 n 可以为实数:
[forall nin mathbb{R},kin mathbb{N},inom nk = frac{n^{kdownarrow}}{k!}
]
同时定义:
[inom nk=0,forall kinmathbb{Z-}
]
注意到,根据上面的定义,我们有很反直觉的结论:
[inom 00 = 1
]
还有一个奇妙定义就是:
[0^0=1
]
它使得二项式定理成立的条件更加宽泛。
那么通过上述定义,我们可以得到一些组合数的美妙性质:
- 加法公式(Addition Formula):
[inom nk=inom{n-1}k+inom{n-1}{k-1},forall ninmathbb{R},kinmathbb{Z}
]
- 对称公式(Symmetry Identity):
[inom nk=inom{n}{n-k},forall n,kinmathbb{N},kleq n
]
- 上指标反转(Negating the Upper Index):
[inom nk=(-1)^kinom{k-n-1}k,forall ninmathbb{R},kinmathbb{Z}
]
- 吸收公式(Absorption Identity):
[kinom nk=ninom{n-1}{k-1},(n-k)inom nk =ninom{n-1}k,forall ninmathbb{R},kinmathbb{Z}
]
- 上指标求和(Summation on the Upper Index):
[inom 0m+inom 1m+cdots+inom nm=sum_{k=0}^ninom km=inom{n+1}{m+1},forall n,minmathbb{N}
]
[inom n0+inom{n+1}1+cdots+inom {n+m}m=sum_{k=0}^minom{n+k}k=inom{n+m+1}m,forall n,minmathbb{N}
]
- 一行之和:
[sum_{k=0}^n inom nk=(1+1)^n=2^n,forall ninmathbb{N}
]
- 交错和:
[sum_{k=0}^n (-1)^kinom nk=[n=0],forall ninmathbb{N}
]
以及最重要的
- 范德蒙德卷积(Vandermonde's Convolution):
[sum_kinom r{m+k}inom s{n-k}=inom{r+s}{m+n},forall n,minmathbb{Z}
]
- 常用技巧:
[inom niinom ij=inom njinom{n-j}{i-j}
]
还有就是一个关于其组合意义的推广,如果有 (n) 个两两不同的物品,将其分为 (m) 组,第 (i) 组有 (a_i) 个物品,则方案数为:
[frac{n!}{a_1!a_2!cdots a_m!}=frac{n!}{prod_{i=1}^ma_i!}
]
理论全都讲完了,来做道题吧:
例题 求柿子的值:
[sum_kinom nk^2mod (10^9+7)
]
其中 (nleq 10^9)。
分析 根据对称公式和范德蒙德卷积:
[sum_kinom nk^2 =sum_kinom nkinom nk =sum_kinom nkinom n{n-k} =inom{2n}n
]
然后可以卢卡斯来做。
20200901 更新:看到《具体数学》一些奇妙的柿子,来更新一下:
部分和引导出的关系式:
[sum_{kleq m}inom{m+r}{k}x^ky^{m-k}=sum_{kleq m}inom{-r}{k}(-x)^k(x+y)^{m-k},forall minmathbb{Z}
]
当 (x=-1,y=1) 时((0^0=1)):
[sum_{kleq m}inom{m+r}k(-1)^k=inom{-r}m
]
当 (x=y=1,r=m+1) 时:
[sum_{kleq m}inom{2m+1}k=sum_{kleq m}inom{m+k}k2^{m-k}
]
而左边正好是行和的一半,所以
[sum_{kleq m}inom{m+k}k2^{m-k}=frac{2^{2m+1}}2=2^{2m}
]
即:
[sum_{kleq m}inom{m+k}k2^{-k}=2^m
]
另,最后感受一下组合数乘积的魅力(
[sum_kinom{m-r+s}kinom{n+r-s}{n-k}inom{r+k}{m+n}=inom rminom sn,forall m,ninmathbb{Z}
]
[sum_kinom{a+b}{a+k}inom{b+c}{b+k}inom{c+a}{c+k}(-1)^k=frac{(a+b+c)!}{a!b!c!},forall a,b,cin{N}
]
Dougall 的恒等式:
[sum_kfrac{inom{a+b}{a+k}inom{b+c}{b+k}inom{c+d}{c+k}inom{d+a}{d+k}}{inom{2a+2b+2c+2d}{a+b+c+d+k}}=frac{(a+b+c+d)!(a+b+c)!(a+b+d)!(a+c+d)!(b+c+d)!}{(2a+2b+2c+2d)!(a+c)!(b+d)!a!b!c!d!},forall a,b,c,dinmathbb{N}
]