有多少组合可以将n章放入k(

时间:2014-09-28 22:53:23

标签: algorithm dynamic-programming fast-enumeration

另外,如何在n的多项式内算法生成它们?伪代码没问题。

1 个答案:

答案 0 :(得分:0)

此问题归结为选择k-1边框,这些边界在n个部分中划分k个元素。因此,需要从k-1个位置中选择n+k-1个职位,从而产生

enter image description here

的可能性。举个例子,我们说我们需要在三个孩子中划分四个糖果。在这种情况下,第一种可能性是将两个边界放在前两个位置,将四个糖果留在3-6位置:

enter image description here

因此,前两个孩子没有糖果,而第三个孩子全部四个。另一种可能性是将第一个边界放在第2位,将第二个边界放在第4位:

enter image description here

现在前两个孩子各获得一个糖果(位置1和3),而第三个孩子获得两个(位置5-6)。迭代所有位置导致总共15种可能性。

请注意,当所有卷都需要包含至少一个章节时,答案会有所不同。在这种情况下,k个项目已分别提供给一个卷,留下n-k个章节。因此,有

enter image description here

的可能性。请注意,在这种情况下,条件k<n很重要。