答案应该始终适用于wherem choose k
的所有值。我将尝试解释原因;n
n > m > k
例如,给定值,您可以首先为 4 盏灯的集合生成s 和s 的m = 10, n = 4, k = 2
所有可能排列,其中恰好有 2 盏灯亮着;1
0
1100
0110
0011
1001
0101
1010
如您所见,有 6 个排列,因为4 choose 2 = 6
. 您可以选择这 6 个排列中的任何一个作为前 4 个灯。然后,您继续该序列,直到您获得n
(在本例中为 10 个)灯,确保您只在必须时添加一个零,以保持每 4 个灯亮 2 个的条件为真。您会发现序列只是重复;例如:
1100
-> next 可以是 1,所以11001
Next 仍然可以是 1 并且满足条件,所以110011
.
下一个现在必须是零,给出1100110
,然后再次 -> 11001100
。这只会持续到长度为n
: 1100110011
。鉴于前四个只能是上述集合之一,您只会得到 6 种不同的排列。
现在,由于序列对于 的任何值都会重复完全相同n
,这意味着答案将始终是m choose k
。
对于您对 6,3,2 的评论中的示例,我只能找到以下排列:
011011
110110
101101
哪个有效,因为3 choose 2 = 3
. 如果你能找到更多,那么我想我错了,我可能又误解了 :D 但根据我对这个问题的理解,我确信答案将永远是m choose k
。