# 盲盒计数、容斥与集齐期望

[[MCS/day4/00 学习指南|day4 学习指南]] · [[MCS/00 MCS学习总览|十一天总览]] · [[MCS/day4/阅读核验与疑问|阅读核验与疑问]] · 下一篇：[[MCS/day4/02 五仁未出现与贝叶斯推断|五仁未出现与贝叶斯推断]]

> 来源：[[MCS/day4排列组合与概率|day4排列组合与概率]]。用途：主线。原有推导、追问与解答保留；阅读时请结合本日核验说明。

苏记月饼铺的集福盲盒
每个盲盒随机装入一枚月饼，共有 k=6 种口味
五仁、莲蓉、豆沙、蛋黄、流心奶黄、冰皮榴莲
盲盒售价 12 元/个
玉兔福袋价值 188 元，但只有恰好集齐 6 种口味时才能获得。
问题一：十个盲盒有多少种可能？**乘法原理（分步计数原理）** 每个盲盒都是独立k^ n,则有 $6^{10}$
对于问题 二，但这里面包括了一些口味一次都没出现的情况。  
所以要用容斥原理，把“至少有一种口味没出现”的那些情况排除掉。

问题二：**题意**：十个盲盒中，集齐了全部 6 种口味，也就是说每种口味至少出现一次。
## 问题 2
**问**：有多少种不同的可能序列？

这个问题是：  
长度为 10 的序列，每个位置的元素来自 6 种口味，并且 6 种口味每种至少出现 1 次。


容斥原理/第二类斯特林数

01、原理概述
容斥原理是一种较常用的计数方法，其基本思想是: 先不考虑重叠的情况，把包含于某内容中的所有对象的数目先计算出来，然后再把计数时重复计算的数目排斥出去，使得计算的结果既无遗漏，又无重复。

容斥原理核心的计数规则可以记为一句话: 奇加偶减。

假设被计数的有A、B、C三类，那么，A、B、C类元素个数总和=A类元素个数+B类元素个数+C类元素个数-既是A又是B的元素个数-既是B又是C的元素个数-既是A又是C的元素个数+既是A又是B且是C的元素个数，即A∪B∪C=A+B+C-A∩B-B∩C-A∩C+A∩B∩C，如图1所示。

![](https://ucc.alicdn.com/pic/developer-ecology/qd74tgabmnnce_3c35aeb704144e4bb84b43322e7bfb91.png)

当被计数的种类被推到n类时，其统计规则遵循**奇加偶减**。


用补集和容斥
要设全集 $S$：所有长度为 $10$ 的序列，元素来自 $6$ 种口味，总数为：
$$
|S| = 6^{10}
$$
我们要求的是：每种口味至少出现一次。
IE(inclusion and exclusion):恰好集齐 6 种=所有 6 种口味的月饼都至少出现一次
定义 $A_i$：第 $i$ 种口味没有出现的序列集合。
我们要求的是：
$$
|S| - |A_1 \cup A_2 \cup \cdots \cup A_6|
$$
根据容斥原理：
$$
\left| \bigcup_{i=1}^6 A_i \right|
= \sum_{i=1}^6 |A_i| - \sum_{1\le i<j\le 6} |A_i\cap A_j| + \cdots + (-1)^{6+1} |A_1\cap \cdots \cap A_6|
$$
选 $1$ 种口味不出现：剩下 $5$ 种口味可选，序列数为：
$$
5^{10}
$$
共有 $\binom{6}{1}$ 种选法。
选 $2$ 种口味不出现：剩下 $4$ 种口味可选，序列数为：
$$
4^{10}
$$
共有 $\binom{6}{2}$ 种选法。
以此类推。
因此，满足“每种至少出现一次”的序列数为：
$$
\sum_{j=0}^{6} (-1)^j \binom{6}{j} (6-j)^{10}
$$

上面文件的核心内容可以概括成一句话：

> **容斥原理只有一个，但你看到的那几个公式分别是在“求并集”和“求补集”，并且从具体例子逐步抽象成了通用形式。**

下面按文件里的逻辑梳理。

---

## 1. 两个容易混淆的式子

### 第一个式子：求并集

$$
\left|\bigcup_{i=1}^6 A_i\right|
=
\sum_{i=1}^6 |A_i|
-
\sum_{1\le i<j\le 6}|A_i\cap A_j|
+
\cdots
+
(-1)^{6+1}|A_1\cap\cdots\cap A_6|
$$

它直接计算的是：

$$
A_1\cup A_2\cup\cdots\cup A_6
$$

也就是：**至少属于一个集合的元素个数**。

规则是：

> **奇加偶减**

即：

- 单个集合：加；
- 两两交集：减；
- 三三交集：加；
- 四四交集：减；
- 以此类推。

---

### 第二个式子：求补集

$$
|S|-\sum |A_i|+\sum |A_i\cap A_j|-\sum |A_i\cap A_j\cap A_k|+\cdots
$$

它计算的是：

$$
\left|S\setminus \bigcup_{i=1}^6 A_i\right|
$$

也就是：

$$
|\overline{A_1}\cap\overline{A_2}\cap\cdots\cap\overline{A_6}|
$$

含义是：**一个都不属于这些集合的元素个数**。

它来自：

$$
|\overline{A_1}\cap\cdots\cap\overline{A_6}|
=
|S|-\left|\bigcup_{i=1}^6 A_i\right|
$$

把并集容斥代进去，符号整体反过来。

所以：

- 求并集：奇加偶减；
- 求补集：偶加奇减。

两者本质是同一个容斥原理。

---

## 2. 从具体公式到抽象公式

你熟悉的三个集合的公式是：

$$
|A\cup B\cup C|
=
|A|+|B|+|C|
-
|A\cap B|-|B\cap C|-|A\cap C|
+
|A\cap B\cap C|
$$

把它推广到 $n$ 个集合：

$$
\left|\bigcup_{i=1}^n A_i\right|
=
\sum_{k=1}^n (-1)^{k+1}
\sum_{|I|=k}|A_I|
$$

其中：

- $k$：这次取几个集合的交集；
- $I$：选中的下标集合；
- $|I|=k$：选了 $k$ 个集合；
- $A_I$：这些集合的交集；
- $(-1)^{k+1}$：控制“奇加偶减”。

所以抽象公式并不是新东西，只是把：

- 单个集合；
- 两两交集；
- 三三交集；
- ……

用统一符号写出来。

---

## 3. 从抽象并集公式到“口味问题”的公式

题目是：

> 6 种口味，排成长度 10 的序列，每种口味至少出现一次。

设：

$$
S=\text{所有长度为10、每个位置有6种口味可选的序列}
$$

则：

$$
|S|=6^{10}
$$

设：

$$
A_i=\text{第 }i\text{ 种口味一次都不出现的序列集合}
$$
用“不出现”的角度做容斥
要求的是：

$$
|\overline{A_1}\cap\cdots\cap\overline{A_6}|
$$

也就是“每种口味至少出现一次”。

根据补集容斥：

$$
|\overline{A_1}\cap\cdots\cap\overline{A_6}|
=
|S|-\left|\bigcup_{i=1}^6 A_i\right|
$$

再把并集容斥代入，得到：

$$
|\overline{A_1}\cap\cdots\cap\overline{A_6}|
=
|S|
-
\sum |A_i|
+
\sum |A_i\cap A_j|
-
\sum |A_i\cap A_j\cap A_k|
+\cdots
$$

然后逐项计算：

- $j=0$：$|S|=6^{10}$
- $j=1$：$|A_i|=5^{10}$
- $j=2$：$|A_i\cap A_j|=4^{10}$
- $j=3$：$|A_i\cap A_j\cap A_k|=3^{10}$
- ……

选 $j$ 种口味不出现，有：

$$
\binom{6}{j}
$$

种选法，剩下可用的口味数是：

$$
6-j
$$

所以对应的序列数是：

$$
(6-j)^{10}
$$

符号由 $(-1)^j$ 控制。

最终得到：

$$
\sum_{j=0}^{6}(-1)^j\binom{6}{j}(6-j)^{10}
$$

---

## 4. 这个最终公式和“奇加偶减”的关系

并集容斥是：

$$
\left|\bigcup_{i=1}^n A_i\right|
=
\sum_{k=1}^n (-1)^{k+1}
\sum_{|I|=k}|A_I|
$$

符号是：

- $k=1$：加；
- $k=2$：减；
- $k=3$：加；
- ……

这是“奇加偶减”。

但口味问题求的是补集：

$$
|\overline{A_1}\cap\cdots\cap\overline{A_n}|
=
|S|-\left|\bigcup_{i=1}^n A_i\right|
$$

所以符号整体反过来：

$$
\sum_{j=0}^{n}(-1)^j
\sum_{|I|=j}|A_I|
$$

符号是：

- $j=0$：加；
- $j=1$：减；
- $j=2$：加；
- $j=3$：减；
- ……

看起来像“偶加奇减”，但它仍然是容斥原理，只是求的是补集。

---

## 5. 整份对话的总结

整份文件其实在讲一条线：

1. **你熟悉的容斥原理**  
   $$
   |A\cup B\cup C|=|A|+|B|+|C|-|A\cap B|-|B\cap C|-|A\cap C|+|A\cap B\cap C|
   $$

2. **推广到 $n$ 个集合的并集**  
   $$
   \left|\bigcup_{i=1}^n A_i\right|
   =
   \sum_{k=1}^n (-1)^{k+1}
   \sum_{|I|=k}|A_I|
   $$

3. **变成求补集**  
   $$
   |\overline{A_1}\cap\cdots\cap\overline{A_n}|
   =
   |S|-\left|\bigcup_{i=1}^n A_i\right|
   $$
   从而：
   $$
   =
   \sum_{j=0}^n (-1)^j
   \sum_{|I|=j}|A_I|
   $$

4. **应用到“6 种口味、长度 10、每种至少出现一次”**  
   得到：
   $$
   \sum_{j=0}^{6}(-1)^j\binom{6}{j}(6-j)^{10}
   $$

所以核心不是“又换了一个新公式”，而是：

> **同一个容斥原理，从具体到抽象，从求并集到求补集，最后代入具体计数对象。**




第二类斯特林数 S(n,k)
把 n 个盲盒按口味分成 k 个非空组（每组对应一种口味），再乘以 k!(口味可以标号)
N=S(n,k)\*k!
$\begin{aligned}&\text{第二类斯特林数有显式公式:}\\&&&S(n,k)&=\frac{1}{k!}\sum_{j=0}^k(-1)^j\binom{k}{j}(k-j)^n\\&\text{代入 }n=10,k=6:\\&&&S(10,6)&=\frac{1}{6!}\sum_{j=0}^6(-1)^j\binom{6}{j}(6-j)^{10}\\&\text{因此:}\\&&&S(10,6)\cdot6!&=\sum_{j=0}^6(-1)^j\binom{6}{j}(6-j)^{10}\end{aligned}$

Q 3：10 个盲盒，恰好集齐 6 种口味的概率？并判断，是否划算？（用期望计算）
由问题二可知：
- 所有可能的序列数：
$$|S| = 6^{10}$$
- 恰好集齐 6 种口味（每种至少出现一次）的序列数：
$$
N = \sum_{j=0}^{6} (-1)^j \binom{6}{j} (6 - j)^{10} = 16435440$$
所以恰好集齐 6 种口味的概率为：
$$P = \frac{N}{6^{10}} = \frac{16435440}{60466176}$$
化简：
$$
P = \frac{16435440}{60466176} \approx 0.2718$$
即：
$$\boxed{P \approx 27.18\%}$$



1. 成本

每个盲盒售价 12 元，买 10 个盲盒的总花费为：

$C = 10 \times 12 = 120$ 元

2. 收益

玉兔福袋价值 188 元，但只有恰好集齐 6 种口味时才能获得。

设随机变量 $X$ 为获得的福袋价值：

$X = \begin{cases} 188, & \text{恰好集齐 6 种口味} \\ 0, & \text{否则} \end{cases}$

期望收益为：

$E(X) = 188 \times P = 188 \times \dfrac{16435440}{60466176}$

计算：

$E(X) = 188 \times 0.2718 \approx 51.10$ 元

更精确地：

$E(X) = 188 \times \dfrac{16435440}{60466176} = \dfrac{188 \times 16435440}{60466176} = \dfrac{3089862720}{60466176} \approx 51.10$ 元


3. 净期望
$E(\text{净收益}) = E(X) - C = 51.10 - 120 = -68.90$ 元
即：
$$E(\text{净收益}) \approx -68.90 \text{ 元}$$



如果只买一个盲盒，成本 12 元，但一个盲盒不可能集齐 6 种口味，所以：
$P(\text{集齐 6 种}) = 0$
期望收益：
$$E(X) = 188 \times 0 = 0$$
净期望：
$$
E(\text{净收益}) = 0 - 12 = -12 \text{元}$$
更不划算。



## 平均需要多少个盲盒才能集齐全部 6 种口味？

这是经典的**集齐优惠券问题（Coupon Collector's Problem）**。



优惠券的一个收集问题问你平均需要买多少个盲盒才能集齐全部的六种口味，请你给出期望的一个精确表达式与数值。
设 $k = 6$ 种口味，每次独立等概率获得一种口味。
设 $T$ 为集齐全部 6 种口味所需的盲盒数。
令 $T_i$ 表示从已经集齐 $i - 1$ 种口味，到集齐第 $i$ 种口味所需的盲盒数。
当已经集齐 $i - 1$ 种口味时，还有：
$$k - (i - 1) = k - i + 1$$
种口味没有集齐，所以每次抽到新口味的概率为：
$$
p_i = \frac{k - i + 1}{k}$$
因此 $T_i$ 服从参数为 $p_i$ 的几何分布，期望为：
$$E(T_i) = \frac{1}{p_i} = \frac{k}{k - i + 1}$$
于是总期望为：
$$
E(T) = \sum_{i=1}^{k} E(T_i) = \sum_{i=1}^{k} \frac{k}{k - i + 1}$$
令 $j = k - i + 1$，则当 $i = 1$ 时 $j = k$，当 $i = k$ 时 $j = 1$，所以：
$$E(T) = \sum_{j=1}^{k} \frac{k}{j} = k \sum_{j=1}^{k} \frac{1}{j} = k H_k$$

其中 $H_k$ 
是第 $k$ 个调和数：
$$H_k = 1 + \frac{1}{2} + \frac{1}{3} + \cdots + \frac{1}{k}$$
所以对于 $k = 6$：
$$
\boxed{E(T) = 6H_6}$$
精确值：
$$H_6 = 1 + \frac{1}{2} + \frac{1}{3} + \frac{1}{4} + \frac{1}{5} + \frac{1}{6} = \frac{49}{20} = 2.45$$
因此：
$$
E(T) = 6 \times \frac{49}{20} = \frac{294}{20} = 14.7$$
即：
$$\boxed{E(T) = 14.7}$$

平均需要 14.7 个盲盒才能集齐全部 6 种口味。

二、渐进行为与欧拉常数
对于一般的 $k$，有：
$$E(T) = kH_k$$
而调和数有渐近展开：
$$
H_k = \ln k + \gamma + \frac{1}{2k} - \frac{1}{12k^2} + O\left(\frac{1}{k^4}\right)$$
其中 $\gamma$ 是欧拉-马歇罗尼常数：
$$\gamma \approx 0.5772156649\cdots$$
因此：
$$
E(T) = kH_k = k\ln k + \gamma k + \frac{1}{2} - \frac{1}{12k} + O\left(\frac{1}{k^3}\right)$$
所以渐近主项为：
$$\boxed{E(T) \sim k\ln k + \gamma k}$$
更精确地：
$$
\boxed{E(T) = k\ln k + \gamma k + \frac{1}{2} - \frac{1}{12k} + O\left(\frac{1}{k^3}\right)}$$
三、代入 $k=6$ 验证
$$k \ln k = 6 \ln 6 \approx 6 \times 1.791759469 = 10.75055681$$
$$
\gamma k = 0.5772156649 \times 6 \approx 3.463293989$$
$$\frac{1}{2} = 0.5$$
$$
-\frac{1}{12k} = -\frac{1}{72} \approx -0.01388888889$$
加起来：
$$10.75055681 + 3.463293989 + 0.5 - 0.01388888889 \approx 14.69996191$$
与精确值 14.7 非常接近。
## 买多少个比较合理？
这些都可以用容斥原理算：
$$P(T \le n) = \frac{1}{6^n} \sum_{j=0}^{6} (-1)^j \binom{6}{j} (6-j)^n$$
或者第二斯特林公式
$$P(T\leq n)=\frac{S(n,6)\cdot6!}{6^n}$$
其中 $T$ 是集齐所需的盲盒数。

我们可以算几个典型值：

| 购买数量 $n$ | 集齐概率 $P(T \le n)$ |
| :--- | :--- |
| 10 | $\approx 27.18\%$ |
| 14 | $\approx 58.5\%$ |
| 15 | $\approx 64.4\%$ |
| 20 | $\approx 87.4\%$ |
| 25 | $\approx 96.2\%$ |
| 30 | $\approx 99.0\%$ |

所以：

- 买 15 个：大约 64% 的概率能集齐；
- 买 20 个：大约 87% 的概率能集齐；
- 买 30 个：大约 99% 的概率能集齐。
