AT316

发布时间 2023-04-24 19:39:03作者: untitled0

见标题进系列
翻译出来挨打

考虑 \(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 定理