小学生都能看懂的错排问题解析
Planet6174 · · 题解
点赞请戳屏幕右下角粉色的圆 QwQ
洛谷不支持 Flash 很蛋疼啊
我本来想做成交互式内容的,现在只能疯狂贴图……
你需要知道哪些信息学知识:
递推/简单DP。没了。
面向小学生的(并非严谨的)数学前置技能
- 数集:一堆的互不相同的数放在一起。
- 元素:数集中的一个数称为这个数集的一个元素。
- 数学上的函数:
f(x)= 表达式
转化为信息学的写法长成这样:double f(double x) { return 表达式; }
- 一一对应:通俗的说法就是一个萝卜一个坑。
数学上两个数集一一对应指的是:
有两个数集A 和B ,
对于A 里面任意一个数,在B 中都能找到一个数与之对应;
并且对于B 里面任意一个数,在A 中也一定能找到一个数与之对应,
那么,数集A 与数集B 一一对应。
问题
有
n 个箱子,颜色分别为1\dots n ;还有n 个球,颜色也分别为1\dots n 。现在要将每一个球分别放入一个箱子里,并且一个箱子里只能放一个球。
试求有多少种方案满足:每个箱子,和它里面球的颜色,都不一样。
下图使用一种不知道叫啥的线表示哪个球不能放进哪个箱子里(再三强调不能放进,有些小盆友还以为是哪个球放哪个箱子里……)。后文还会多次出现这种不知道叫啥的线。
→→此处我们把
于是,我们换一种方式描述题目:试求有多少种方案满足:
很多人学错排问题时,就只知道上面这种形式。然而,他们没有抓住错排问题的本质。我变一下,如果
一样吧?那下面这种对应关系呢?
有点乱,但答案一样吧?但是,下面这几个呢?
看起来不对劲。前者出现了一对多、多对一,后者出现了有些球和箱子没有对应。没错,答案会不一样。
那么,你搞清楚了正确定义了吗?
有
现在要将每个球分别放进一个箱子里,一个箱子里只能放一个球。求方案数。
现在,我们进入核心部分:
递推式
回到开头给的题目。
数学上我们用
我们来看下
把
n 号球放进:
- ……
\text{k} 号箱子- ……
现在,我们只着眼于一种情况:
现在,我们再分为两种情况:一种是
把
n 号球放进:
- ……
* **$\text{k}$ 号球放进了 $\text{n}$ 号箱子** * **$\text{k}$ 号球没有放进 $\text{n}$ 号箱子** - ……
如果
我们可以发现,如果不看
把
n 号球放进:
- ……
* $\text{k}$ 号球放进了 $\text{n}$ 号箱子 $\longrightarrow$ $D_{n-2}$ **种方案** * $\text{k}$ 号球没有放进 $\text{n}$ 号箱子 - ……
为了和上面区分,这里我们描述为:如果
动脑筋想想,这个东西是不是可以写成
我们可以发现,如果不看
还没看懂?回到上面读读错排问题的正确定义。
把
n 号球放进:
- ……
* $\text{k}$ 号球放进了 $\text{n}$ 号箱子 $\longrightarrow$ $D_{n-2}$ 种方案 * $\text{k}$ 号球没有放进 $\text{n}$ 号箱子 $\longrightarrow$ $D_{n-1}$ **种方案** - ……
我们发现,把
把
n 号球放进:
- ……
* $\text{k}$ 号球放进了 $\text{n}$ 号箱子 $\longrightarrow$ $D_{n-2}$ 种方案 * $\text{k}$ 号球没有放进 $\text{n}$ 号箱子 $\longrightarrow$ $D_{n-1}$ 种方案 - ……
这个
把
n 号球放进:
- ……
- ……
最后一步,你会了吗?
通项公式
下面这些我没有和小学生讲,错排的通项公式对小学生还是太难了一点。
还有一个原因,这东西没法子快速计算……
顺便讲一下这东西怎样从递推式推导为通项公式的。以下内容来自维基。
设
化简得
于是
所以
将上面式子分边累加,得
因此,我们得到错排的通项公式