EDA365电子论坛网

标题: m个作业分给n个人的所有可能的情况 [打印本页]

作者: tryeverythingop    时间: 2020-11-17 15:39
标题: m个作业分给n个人的所有可能的情况
m个相同的作业,分给n个不同的人,列出所有可能的分法,比如说3个作业分给2个人就有(1,2)(2,1)两种分法,5个作业分给3个人就有(1,1,3)(1,2,2)(1,3,1)(2,1,2)(2,2,1)(3,1,1)六种可能,我用递归写了一个代码20个作业分给10个人就跑了20分钟,效率太慢,数据规模只会更大,求有没有更高效的方法,谢谢!- ]2 h/ ?7 H1 |' F: \. z: h

作者: shapeofyou888    时间: 2020-11-17 16:45
如果,只需要求可能数的话,不用展示出来。
& C5 d3 d  d! O! n) r% i  D看作多元一次的不定方程,用隔板法很容易得到答案。
9 ]) f. N5 i. n! d( W8 ]上面 C(5-1,3-1)=6,后面就是C(19,9)=92378: ]% B0 ~7 a" o) h  c
或者整数拆分,用母函数方法。
作者: tryeverythingop    时间: 2020-11-17 17:40
shapeofyou888 发表于 2020-11-17 16:45
) b& |: i( ^( y: M如果,只需要求可能数的话,不用展示出来。* Y& b4 C( F/ |. u' K6 k
看作多元一次的不定方程,用隔板法很容易得到答案。
+ H7 r: K0 {# N: J9 R( Z2 ^! x上面 C(5 ...

( K9 R) Y8 L% ?, l我想知道每种方法是怎么做的
% L, y3 K, K4 h




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2