目录
引入
首先有一个广为人知的结论:
\[(a+b)^2=a^2+2ab+b^2 \]
那么,如何求 \((a+b)^3\) 呢?手算,如下:
\[\begin{aligned} (a+b)^3 &= (a+b)\times(a+b)^2\\ &=(a+b)\times(a^2+2ab+b^2)\\ &=[a\times(a^2+2ab+b^2)]+[b\times(a^2+2ab+b^2)]\\ &=(a^3+2a^2b+ab^2)+(a^2b+2ab^2+b^3)\\ &=a^3+3a^2b+3ab^2+b^3 \end{aligned} \]
正题
尝试性的去找找规律,然后就会找到
\[(a+b)^k=\sum\limits_{i=0}^{k}\binom{k}{i}a^ib^{k-i} \]
其中\(\binom{k}{i}\)表示在 \(k\) 个数里任取 \(i\) 个的方案数,等价于 \(C_{k}^{i}\)。
证明:
首先,如果我们不合并同类项,那么我们得到的项数是 \(2^k\)。这个可以这么证:假设已知 \((a+b)^k\) 不合并时有 \(n\) 项,那么
\[\begin{aligned} (a+b)^{k+1} &= (a+b)(a+b)^k\\ &=a(a+b)^k+b(a+b)^k \end{aligned}\]
左右两式的项数都是 \(n\),和为 \(2n\)。
然后 \(a\) 和 \(b\) 的次数之和是 \(k\),这个结论是显然的。我们在乘方的时候,每一个 \((a+b)\) 里都会选一个 \(a\) 或 \(b\)出来。于是挂在前面那个组合数的也证出来了:取到\(a^ib^{k-i}\) 的情况等价于有一个长为 \(k\) 的01序列,1的个数为 \(i\),求不同方案数的问题,显然是 \(C_i^k\)。类似的还有:
- 在 \(k\) 个灯里开了 \(i\) 个,关了 \(k-i\) 个,求方案数的问题。
- 在网格图从(1,1)走到(i,j),只能向上、向右走,求路径数。
延伸
然而,二项式定理能扩展到的东西远不止于此。看看这个:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
..................
上面是 \((a+b)^k\) 各项系数列的表。有没有感觉有一点似曾相识?
没错,就是它,杨辉三角!
接下来,我们要从二项式层面证明杨辉三角可以用来求二项式展开后的系数。不妨先假设杨辉三角可以求展开后系数,那么杨辉三角的第 \(i\) 行第 \(j\)列就可以被表示为 \(C_i^j\),在结合求杨辉三角的递推式 \(a_{i,j}=a_{i-1,j-1}+a_{i-1,j}\),有此式:
\[C_i^j=C_{i-1}^{j-1}+C_{i-1}^{j} \]
然后推右式,如下:
\[\begin{aligned} C_{i-1}^{j-1}+C_{i-1}^{j}&=\tfrac{(i-1)!}{(i-j)!(j-1)!}+\tfrac{(i-1)!}{(i-j-1)!j!}\\&=\tfrac{1}{j!}(\tfrac{(i-1)!j}{(i-j)!}+\tfrac{(i-1)!}{(i-j-1)!})\\&=\tfrac{1}{j!(i-j)!}[(i-1)!j+(i-1)!(i-j)]\\&=\tfrac{(a-1)!}{j!(i-j)!}(b+a-b)\\&=\tfrac{(a-1)!a}{j!(i-j)!}(b+a-b)\\&=\tfrac{a!}{j!(i-j)!}\\&=C_i^j \end{aligned}\]
所以杨辉三角的递推来求二项式展开的系数是有正确性的。这也给了我们另一个递推求组合数的思路,在一些题目里会很有用,但是我想平时不会有人会选择 \(O(n)\) 求解组合数吧。