|

组合数学

零、前言

感性理解在组合数学中非常重要。

一.4种基本原理

1.加法原理

假设一种假如完成—件事情的方法有 \(n\) 类,其中第 \(i\) 类方法包括 \(m_i\) 种不同的方法,并且这些方法互不重合,那么完成这件事共有 \(\sum m_i\) 种不同的方法,我们称为加法原理

注意,如果方法重合,那么需要容斥原理来解决。

2.乘法原理

若完成—件事需要 \(n\) 个步骤,其中第 \(i\) 个步骤有 \(m_i\) 种不同的完成方法, 且这些步骤互不干扰,那么完成这件事—共有 \(\prod m_i\) 种不同方法,我们成为乘法原理

3.减法原理

设集合 \(U\) 和集合 \(A\)\(\bar{A}\)\(A\) 关于 \(U\) 的补集,则 \(|A|=|U|-|\bar{A}|\),我们称为减法原理

4.除法原理

设集合 \(S\),将它划分为 \(k\) 个基数相同,均等于 \(m\) 的子集 \(A_i\),则划分子集个数 \(k=\cfrac{|S|}{m}\),我们称为除法原理。除法原理是计数中去序的根据,使方案有序的操作是划分的过程,如果将有序变为无序 则需要去序。

二、排列数与组合数

1.排列

我们通常\(n\) 个数选 \(r\) 个的排列称作 \(P(n,r)\)\(P_n^r\)\(A_n^r\),下面,我们以 \(A_n^r\) 代表排列数。

排列是有序的,所以排列数 \(A_n^r\) 相当于从 \(n\) 个数中选 1 个,再从 \(n-1\) 个数中选 1 个,再从 \(n-2\) 个数中选 1 个,直到选完 \(r\) 个为止。

由于每次选择互不干扰,所以我们得到 \(A_n^r=n\times (n-1) \times (n-2) \times ... \times (n-r+1)\),或者是 \(\cfrac{n!}{(n-r)!}\)

2.组合

组合就相当于不重复的排列,我们\(n\) 个数选 \(r\) 个的组合称作 \(C(n,r)\)\(C_n^r\)\(\binom{n}{r}\),下面,我们以 \(\binom{n}{r}\) 称作组合数。

组合是无序的,根据除法原理,可得 \(\binom{n}{r}=\cfrac{A_n^r}{A_r^r}=\cfrac{n!}{r!\times(n-r)!}\)

三、组合数的基本性质

  • 对于任意 \(r > n\)\(\binom{n}{r}=0\)
  • \(\binom{n}{n} = \binom{n}{0} = 1\)
  • \(\binom{n}{r} = \binom{n}{n - r}\)
  • \(\binom{n}{r} = \binom{n-1}{k}+\binom{n-1}{k-1}\),感性理解:从 \(n\) 个中选 \(r\) 个相当于从 \(n-1\) 个中已经选择了 \(k\) 个,还有 \(n-1\) 个中选择了 \(k-1\) 个,剩下 1 个选择第 \(n\) 个。
  • \(\sum\limits_{i=0}^{n} \binom{n}{i}=2^n\)
  • \(\binom{n}{k}=\cfrac{n}{k}\binom{n-1}{k-1}\)
  • \(\binom{n}{r}\binom{r}{k}=\binom{n}{k}\binom{n-k}{r-k}\)
  • \(\sum\limits_{k=0}^{r} \binom{m}{k}\binom{n}{k}=\binom{m+n}{r}\)
  • \(\sum\limits_{k=0}^{m} \binom{n}{k}\binom{m}{k}=\binom{m+n}{m}\)

四、基本的常用方法

1.特殊优先

如各个数位数字不同的三位数的个数:由于第一位不能为 0,所以我们可以先考虑第 1 位,第一位有 \(1\sim 9\) 的取值;由于第一位取了一个,那么第二位还有 \(9\) 种选择(因为还有 \(0\));同理第三位就有 \(8\) 种选择,所以一共有 \(9\times 9\times 8= 648\) 个数。

2.求补集

还是上面那个例子,我们可以用所有的三位数减去各个数字至少有 2 位相同的三位数个数。

  • 个位与十位相等:\(9\times 10=90\) 种选法。(第一个 \(9\) 是百位的贡献,第二个 \(10\) 是十位的贡献)
  • 个位和百位相等:\(10\times 9=90\) 种选法。
  • 十位与百位相等:\(10\times 9 = 90\) 种选法。
  • 个位,十位,百位都相等:\(9\) 种,由于上面 3 种情况都重复算了,所以根据容斥原理,我们只能算 1 次,要减去两次。

答案就是 \(900-90-90-90+9\times 2=648\)

3.捆绑法

捆绑法,顾名思义,就是如果元素必须挨着,那么我们就可以把它当做一个数来算,然后在额外算元素中的情况。

例如:用 \(a,b,c,d,e,f\) 组成一个 \(6\) 位字符串,规定 \(a,b\) 必须挨着,有多少种方法?我们把 \(a,b\) 当成一个字符,然后就相当于 \(5\) 个字符组成一个字符串,有 \(5!\) 种方法,不要忘了还有 \(a,b\) 内部的排序,所以答案为 \(5!\times 2 = 240\) 种方法。

4.插板法

插板法是捆绑法的反过来,它适用于元素之间不能挨着,我们可先把其他的数先算了,然后把不能挨着的元素插到里面去。

例如:用 \(a,b,c,d,e,f\) 组成一个 \(6\) 位字符串,规定 \(a,b\) 不能挨着,有多少种方法?我们先算 \(c,d,e,f\) 的答案,是 \(4!\),然后在把 \(a,b\) 插在里面,一共是 5 个空(头尾两个,中间三个)插入两个字符,所以有 \(5\times 4\) 种方法,答案为 \(4!\times 5\times 4=480\) 种方法。

5.不知道是什么名字法

这个方法就是运用除法原理解决定序问题

例如:用 \(a,b,c,d,e,f\) 组成一个 \(6\) 位字符串,规定 \(a\) 排在 \(b\) 前面,\(b\) 排在 \(c\) 前面(不要求连续),有多少种方法?我们先算出无条件下的答案 \(7!\),然后由于 \(a,b,c\) 的顺序一定,所以还要减去 \(a,b,c\) 之间的顺序:\(3!\),答案为 \(\cfrac{7!}{3!}\)

四、二项式定理

\[(x+y)^n=\sum\limits_{k=0}^{n}\binom{n}{k}x^k y^{n-k} \]

感性证明:\((x+y)^n\) 就相当于在 \(n\) 个数中选择 \(k\)\(x\)\(n-k\)\(y\),有 \(\binom{n}{k}\) 的方案数(\(n\) 个数选 \(k\) 个的组合)在乘上 \(x^ky^{n-k}\),所以得证。

例题:

  1. 计算系数
  2. GuGu Convolution

二项式定理的拓展公式

这些太杂了,不好整理,只有同一放这里了。

  • \(\sum\limits_{k=0}^{n} \binom{n}{k}=2^n\)
  • \(\sum\limits_{k=0}^{n} \binom{n}{k}(-1)^k=0\)
  • \(\sum\limits_{k=0}^{n} k\binom{n}{k}=n2^{n-1}\)
  • \(\sum\limits_{k=0}^{n} k^2\binom{n}{k}=n(n+1)2^{n-2}\)
  • \(\sum\limits_{l=0}^{n} \binom{l}{k}=\binom{n+1}{k+1}\)

牛顿广义二项式定理

\[(1+\cfrac{x}{y})^\alpha=\sum\limits_{k=0}^{\infty} \binom{\alpha}{k}x^ky^{\alpha-k} \]

多项式定理

\[(x_1+x_2+...+x_t)^n=\sum\limits_{n_1+n_2+...+n_t=n}\binom{n}{n_1n_2...n_t}x_1^{n_1}x_2^{n_2}...x_t^{n_t} \]

五、卢卡斯定理

\[\binom{m}{n}\equiv \binom{\lfloor\frac{m}{p}\rfloor}{\lfloor\frac{n}{p}\rfloor} \binom{m\mod p}{n \mod p} \pmod{p} \]

或者写成

\[\binom{n}{r} \equiv \prod\limits_{i=0}^k\binom{n_i}{r_i} \pmod{m} \]

其中 \(n=n_km^k+n_{k-1}m^{k-1}+...+n_1m+n_0\),所以 \(n_i\) 表示 \(n\)\(m\) 进制中的第 \(i\) 位,同理 \(r_i\) 也一样。

posted @ 2025-08-18 11:39  _q_ak  阅读(39)  评论(0)    收藏  举报