巨弱求助

P1001 A+B Problem

AndyC @ 2022-10-06 16:34:25

问题跟这一题没有关系 是自己在写dfs时遇到好几次不会解决的问题 求助。

就是有一个数组共有n个数字 然后分成k份 要求所有可能的都分到。时间复杂度越低越好..... 可以提供方法的大佬可以加微信发Money


by bamboo12345 @ 2022-10-06 16:36:04

@AndyC 啥叫所有可能的都分到?(话说为啥要发在a+b下?)


by __er @ 2022-10-06 16:36:55

这就不用money了吧……

Dfs+剪枝跑的快的很


by gfgoodluck @ 2022-10-06 16:37:09

问题跟这一题没有关系为什么不发学术版?


by AndyC @ 2022-10-06 16:39:15

@bamboo123 就比如 数组为 1 2 3 4 5 要求分成3份

得到

1,2,3,4,5 空 空 1,2,3,4 5 空 1,2,3 4 5

就是排列于组合里的C(m,n)


by bamboo12345 @ 2022-10-06 16:40:31

@AndyC 就简简单单组合枚举啊


by AndyC @ 2022-10-06 16:41:14

@bamboo123 代码要一下呗....谢谢啦 我好弱


by bamboo12345 @ 2022-10-06 16:47:45

int n,k;
int a[25];
void dfs(int d)
{
    if(d>k)
    {
        for(int i=1;i<=k;i++)
            cout <<a[i]<<" ";
        cout <<endl;
    }
    for(int i=a[d-1]+1;i<=n;i++)
        a[d]=i,dfs(d+1);
}

@AndyC


by AndyC @ 2022-10-06 16:50:25

@bamboo123 nbnb


by ArrayCL @ 2022-11-10 09:31:26

类Test是公共的, 应在名为 Test.java 的文件中声明 这是怎么回事啊,大佬们。


|