统计/组合算法

时间:2018-01-28 16:55:25

标签: math recursion statistics combinations

我试图编写以下要求的代码,但后来认为可能有一个公式。到此为止。

对于一组N个元素,我想计算最大大小为S的无序集合的数量。我发现formulas其中S是固定值(不是最大值)但不是根据我的要求。

对于9 * 3(N * S)= 12,我绘制了以下解决方案树;

// dashes are set separators
@@@--@@@--@@@
@@@--@@@--@@--@
@@@--@@@--@--@--@
@@@--@@--@@--@@
@@@--@@--@@--@--@
@@@--@@--@--@--@--@
@@@--@--@--@--@--@--@
@@--@@--@@--@@--@
@@--@@--@@--@--@--@
@@--@@--@--@--@--@--@
@@--@--@--@--@--@--@--@
@--@--@--@--@--@--@--@--@

1 个答案:

答案 0 :(得分:1)

您可以使用简单观察计算集合数量:

 F(N,S) = F(N-1,1)+F(N-2,2)+...+F(N-S,S)

最大设定功率= 1的组数+最大设定功率= 2的组数等等。使用递归或填充表(动态编程),使用某些边界条件,如F(1,1)=1

相关问题