组合数学 (学习笔记)(26.1.28)
组合数学 (学习笔记)
概述
用于解决各种组合计数问题,统计方案数类型的
基础
排列数
用符号 \(A_n^m\) 表示,\(A_n^m = n(n-1)(n-2)\dots (n-m+1)= \frac{n!}{(n-m)!}\)
组合数
用符号 \(C_n^m = \binom{n}{m}\) 表示,\(C_n^m = \frac{A_n^m}{m!}(表示在全排中除去全排的次数) = \frac{n!}{m!(n-m)!}\)
插板法
可以用于分组问题:
对于直接分组,可以想象为选择空隙,直接使用组合数 \(\binom{n-1}{k-1}\) 就可以求出分组的方案数
对于允许组为空的情况,我们可以去再创造 \(k\) 个元素,在 \(n + k\) 个元素中插板,\(k\) 是用于保证每组至少有一个元素的,在插完后元素就被拿走了,而自然剩下的就是空组,所以答案是正确的,公式为:\(\binom{n+k+1}{n}\)
可以用于求解 \(x_1+x_2+ \dots +x_k=n\) 的解的数目
对于存在下界的情况,比如每个至少要求分到 \(a_i\) 并且 \(\sum a_i\le n\),若我们借 \(\sum a_i\) 个过来,保证第 \(i\) 组至少能分到 \(a_i\) 个,令 \(x'_i = x_i-a_i\)(也就是确定了下界,在剩下的数里进行选择),得到方程
\[(x'_1+a_1)+(x'_2+a_2)+\dots+(s'_k+a_k)=n\\ x'_1+x'_2+\dots+x_k' = n-a_1-a_2-\dots-a_k\\ x'_1+x'_2+\dots+x_k' = n-\sum a_i \]其中对于 \(x'_i\ge 0\),所以就转换成了问题二,最后公式为:\(\binom{n-\sum a_i+k-1}{n-\sum a_i}\)
从一个排列中选择 \(k\) 个不相邻的数,这 \(k\) 个数中任何两个都不相邻的组合有 \(\binom{n-k+1}{k}\)
二项式定理
对于下面的式子,可以理解为,有 \(n\) 次选择,每回需要选择一下是选 \(a\) 还是选 \(b\),然后选了一部分 \(b\),剩下的就是 \(a\),而对于 \(n\) 个选择里选 \(i\) 个的方式总共有 \(\binom{n}{i}\) 种,然后枚举一下,就可以得到了
\[(a+b)^n = \sum _{i=0}^n \binom{n}{i}a^{n-i}b^i \]然后可以扩展到三项式,因为需要选择 \(x\) 个 \(a\) 项,然后在 \(n-x\) 中选 \(y\) 个 \(b\) 项,剩下的就是 \(c\) 项,所以系数可以写成:
\[\binom{n}{x}*\binom{n-x}{y} = \frac{n!}{x!y!z!}注:(z=n-x-y) \]最后得到:
\[(a+b+c)^{n}=\sum{\substack{x+y+z=n \\ x, y, z \geq 0}} \frac{n!}{x!y!z!} a^{x} b^{y} c^{z}注:把所有可能的x,y,z加起来 \]再扩展到多项式:
对于每个系数 \((a_1+a_2+\dots+a_m)^n\),我们要去找展开式的每项的次数组合,是如 \(a_{1}^{k_{1}} a_{2}^{k_{2}} a_{3}^{k_{3}} \ldots a_{m}^{k_{m}}\) 这样的项,最后我们进行组合,\(\binom{n}{k_1}*\binom{n-k_1}{k_2}*\binom{n-k_1-k_2}{k_3}*\dots*\binom{k_m}{k_m}\),化简后发现其中的一些项可以相互抵消,最后剩下了
\[\frac{n!}{k_1!k_2!\dots k_m!} \]就可以由此得到:
\[(a_1+a_2+a_3+\dots+a_m)^n =\sum{\substack{k_1+k_2+\dots+k_m=n \\ k_1,k_2,\dots,k_m \geq 0}}\frac{n!}{k_1!k_2!\dots k_m!}a_1^{k_1}a_2^{k_2}\dots a_m^{k_m} \]

浙公网安备 33010602011771号