diff --git a/20240918/csp2019pre/csp2019pre.md b/20240918/csp2019pre/csp2019pre.md new file mode 100644 index 0000000..fbacea3 --- /dev/null +++ b/20240918/csp2019pre/csp2019pre.md @@ -0,0 +1,36 @@ +# 2019 CCF CSP-S C++ 初赛题目笔记 + +## 一,单项选择 + +### 6. 1,1,8,8的所有排列组合 +排列 $ 1, 1, 8, 8 $ 的问题涉及到 **重复元素的排列**,在这种情况下,排列的原理如下: + +#### 1. 基础排列公式: +如果没有重复元素,4 个元素的排列方式可以通过 **阶乘** 公式计算,即: +$ +n! = 4! = 4 \times 3 \times 2 \times 1 = 24 +$ +这意味着,4 个不相同的元素可以有 24 种不同的排列方式。 + +#### 2. 处理重复元素: +但在这里,数字 $1$ 重复了 2 次,数字 $8$ 也重复了 2 次。如果我们按照普通排列来计算,每次将这些数字视为不同的元素,实际上会重复计数。因此,需要除以重复元素的排列数来消除这种重复。 + +- 对于两个 $1$,它们内部有 $2! = 2 \times 1 = 2$ 种排列方式,我们将它们视为一样的,所以需要除以这个重复数。 +- 同理,对于两个 $8$,也有 $2!$ 种内部排列。 + +于是,最终排列总数公式为: +$ +\frac{n!}{k_1! \times k_2!} +$ +其中,$ n! $ 是总元素数的全排列,$ k_1! $ 和 $ k_2! $ 是分别消除两个 $1$ 和两个 $8$ 的重复排列。 + +#### 3. 应用在问题中: +在这个问题中,$ n = 4 $,而 $ k_1 = 2 $(两个 $1$)和 $ k_2 = 2 $(两个 $8$)。所以计算如下: +$ +\frac{4!}{2! \times 2!} = \frac{24}{2 \times 2} = \frac{24}{4} = 6 +$ +因此,总共有 6 种不同的排列方式。 + +#### 结论: +通过这种方法,处理包含重复元素的排列问题,我们成功消除了重复计算,得到了正确的排列总数。 +