计数入门

持续更新~ 基米~

一、入门

1、组合数

从 \(n\) 个元素中不计顺序地取出 \(m\) 个元素的方案数,记作 \(C^{m}_{n}\) 或 \(\binom{n}{m}\)。
计算公式:$$\large \binom{n}{m} = \frac{n!}{m!(n-m)!}$$

练习题:
link
link
link

2、插板法

Q:求将 \(n\) 个相同元素分为 \(m\) 个集合的方案数,允许空集。
A:可以把分成 \(m\) 组看成在 \(n\) 个元素中插入 \(m-1\) 个板,所以就是在 \(n+m-1\) 个位置中选 \(m-1\) 个位置放板。所以答案为:$$\large \binom{n+m-1}{m-1}$$

练习题:
link
link

3、二项式定理

\[\large (a+b)^n = \sum^{n}_{i=0}\binom{n}{i}a^ib^{n-i} \]

练习题:
link

4、第二类斯特林数

Q:求将 \(n\) 个不同元素放入 \(m\) 个相同集合的方案数,要求集合非空。
A:考虑递推,设答案为 \(S(n,m)\),思考如果我们已经知道了 \(S(n-1,m)\) 怎么求出 \(S(n,m)\):

  • 如果前 \(n-1\) 个元素构成 \(m-1\) 个集合,那第 \(n\) 个元素就只能放在第 \(m\) 个集合,方案数就是 \(S(n-1, m-1)\)。
  • 如果前 \(n-1\) 个元素构成 \(m\) 个集合,那么第 \(n\) 个元素可以随意放在 \(m\) 个集合中,方案数 \(m \times S(n-1, m)\)。

所以递推式就是 $$\large S(n,m) = S(n-1,m-1) + m \times S(n-1,m)$$
初始项 \(S(1,1) = 1\)。

第二类斯特林数也有直接计算的公式:

\[\large S(n, m) = \frac{1}{m!} \sum_{k=0}^{m} (-1)^k \binom{m}{k} (m-k)^n \]

练习题:
link
link

5、错排问题

Q:考虑有 \(n\) 个元素的排列,每一个元素都不在初始位置上有多少种情况。
A:递推。设答案为 \(D_n\)。先把元素 \(n\) 放在任意一个不是 \(n\) 的位置 \(k\) 上,有 \(n-1\) 种方法;然后如果把 \(k\) 放在 \(n\) 位置上就是剩下 \(n-2\) 个位置的错排,方案数 \(D_{n-2}\),否则就是剩下 \(n-1\) 个元素的错排,方案数 \(D_{n-1}\)。所以递推式就是:$$\large D_n = (n-1) \times (D_{n-1} + D_{n-2})$$

练习题:
link
link

posted @ 2026-06-17 15:52  Turkey_VII  阅读(20)  评论(0)    收藏  举报