排课问题

我们要选出非空子集,且任意两次练习之间至少隔 2 个空闲时段(即两个被选时间段的下标差至少为 3)。设总时段为 1..7。

把每两个相邻的已选时段之间强制放入 2 个不可用的空位,再把剩余空位和已选时段看作普通位置。具体做法(常用“插空法”):

若选 \(k\) 个时段,则在 \(k\) 个已选位置之间需放入 \(k-1\) 段各有 2 个固定空位,共占用 \(2(k-1)\) 个时段。于是可用来放 \(k\) 个“有效位置”的总长度为

\[7 - 2(k-1). \]

在这长度中任取 \(k\) 个不相邻位置的等价计数为组合数

\[\binom{\,7 - 2(k-1)\,}{k}. \]

可行的 \(k\) 必须满足 \(7 - 2(k-1) \ge k\),解得 \(k\le3\)。所以 \(k=1,2,3\) 的情形分别有:

  • \(k=1:\ \binom{7}{1}=7\).
  • \(k=2:\ \binom{5}{2}=10\).
  • \(k=3:\ \binom{3}{3}=1\).

把三种情况相加:

\[7 + 10 + 1 = 18. \]

因此共有 18 种选择方案。选项 B。

posted @ 2025-09-05 17:35  kkman2000  阅读(7)  评论(0)    收藏  举报