见标题进系列
翻译出来挨打
考虑 \(N=K\) 的情况,显然就是一个错排数问题:\(N\) 个有编号的球和 \(N\) 个有编号的盒子,每个盒子能且仅能放一个球,能令每个盒子中的球的编号和盒子的编号都不一样的方案数。这里简单推导一下:
令 \(D_i\) 表示 \(i\) 个请柬都没有放在应有位置上的方案数。
考虑第 \(1\) 个球,它显然不能放在 \(1\) 号盒子,也就是说它总共有 \(i-1\) 种可能的选择。
假设 \(1\) 号球放在了第 \(k\) 号盒子里,那么考虑第 \(k\) 号球,它现在有两种选择:
- 放在 \(1\) 号盒子
- 不放在 \(1\) 号盒子
如果放在了 \(1\) 号盒子,那么剩下的 \(i-2\) 个球都不会受影响,此时方案数等于 \(D_{i-2}\)。
如果没有放在 \(1\) 号盒子,那么此时的 \(1\) 号盒子就相当于第 \(k\) 号盒子(第 \(k\) 号球不能放在里面),其他球不受影响,相当于只有一个 \(1\) 被拿走了,方案数等于 \(D_{i-1}\)。
由于 \(1\) 号球共有 \(i-1\) 种选择,因此我们有递推式:
\[\left\{\begin{matrix}
&D_1=0,D_2=1\\
&D_i=(i-1)\times(D_{i-1}+D_{i-2})
\end{matrix}\right.\]
推完这个之后,我们再来看 \(N>K\) 的情况。显然的,在 \(N\) 个请柬里随意选出 \(K\) 个,每种方案数就是 \(D_K\)。
也就是说,总方案数即为:
\[\binom NK\times D_K
\]
组合数取模可以用 Lucas 定理。