组合数学01

341 阅读1分钟

杨辉三角

又叫做帕斯卡三角

\begin{matrix}
&&&&&&&1\\\\
&&&&&&1&&1\\\\
&&&&&1&&2&&1\\\\
&&&&1&&3&&3&&1\\\\
&&&1&&4&&6&&4&&1\\\\
&&1&&5&&10&&10&&5&&1\\\\
&1&&6&&15&&20&&15&&6&&1\\\\
1&&7&&21&&35&&35&&21&&7&&1
\end{matrix}

按照上面的写法,杨辉三角的第 n 行第 m 列即为 C_{n}^{m}

nm 都是以0开始

组合数公式

  1. C_n^k=C_{n-1}^{k-1}+C_{n-1}^k (杨辉恒等式)

这就是一个问题转化,等式右边第一项表示一定取最后一件物品,第二项则表示最后一件物品不取,加起来就是从n件物品里面取出k件的组合数。

  1. C_n^k=C_n^{n-k} (杨辉三角对称性)
  2. \sum_{i=0}^nC_n^i=2^n (单行和)

二项式定理: {(1+1)}^{n}=C_n^0+C_n^1+C_n^2+...+C_n^n (因为 1 的任意次方都是 1 ,所以直接省略)

二项式的另一个结论: {(a+b)}^{n} = k_0a^n+k_1a^{n-1}b+k_2a^{n-2}b^2+...+k_nab^{n} 的系数 k_0,k_1,k_2...k_n 可以就是杨辉三角的第 n 行的所有数字( n0 开始)

  1. \sum_{i=0}^n(C_n^i)^2=C_{2n}^n (单行平方和)

个人想法: (C_n^i)^2=(C_n^i)\cdot(C_n^{n-i}) ,相当于从两个大小为 n 的堆里分别拿出 i 个和 n-i 个,所以和从大小为 2n 的堆中拿出 n 个是一样的。

  1. \sum_{i=0}^nC_{k+i}^k=C_{n+k+1}^{k+1} (60°斜行和)

60 度就是平行于整个大杨辉三角的外边的线

  1. F_n=\begin{cases}
\sum_{i=0}^{n/2-1}C_{n/2+i}^{2i+1},n\equiv 0(mod\ 2)\\
\sum_{i=0}^{(n-1)/2}C_{(n-1)/2+i}^{2i},n\equiv 1(mod\ 2)\\
\end{cases} (30°斜行和等于斐波那契数列)

30 度就是菱形的对角线,可以从左边每一行的 1 开始数。
曾经出过题目!

  1. C_n^i=\frac{n-i+1}{i}C_n^{i-1} (杨辉三角的一行可以递推)

根据组合数公式 C_n^i=\frac{n\cdot(n-1)\cdot\cdot(n-i+1)}{i\cdot(i-1)\cdot\cdot1} C_n^{i-1}=\frac{n\cdot(n-1)\cdot\cdot(n-i+2)}{(i-1)\cdot\cdot1},显然!

待补充

计算 C_n^m\%p