求助,不知道怎么解决排序和去除重复部分

P2404 自然数的拆分问题

@[better_Z](/user/865793) 每次从 a[times-1] 开始枚举
by OldDriverTree @ 2023-06-14 21:02:47


参考代码,不要抄!!! ```cpp #include<bits/stdc++.h> using namespace std; long long n,cnt=0; long long a[10001]; void print(int step){ for(int i=1;i<=step-1;i++){ cout<<a[i]<<'+'; } cout<<a[step]<<endl; cnt++; } void dfs(int sum,int step){ for(int i=a[step-1];i<=sum;i++){ if(i<n){ a[step]=i; sum-=i; if(sum==0){ print(step); } else{ dfs(sum,step+1); } sum+=i; } } } int main(){ cin>>n; a[0]=1; dfs(n,1); return 0; } ``` 强调一遍,不要抄(违规紫衫)
by caolvchong_ @ 2023-06-14 21:04:32


搜索的时候要求第 t 个数必须 $\geqslant$ 第 t-1 个数就行了, ``` for(int i=a[t - 1];i <= n - now;i++){ a[t]=i; dfs(times+1,now+i,t+1); a[t]=0; }
by Filberte @ 2023-06-14 21:07:53


@[jianfanzhuo123](/user/764794) cnt是干嘛的?
by better_Z @ 2023-06-14 21:15:55


@[better_Z](/user/865793) 没有用,拿以前的代码改的哈
by caolvchong_ @ 2023-06-15 12:44:28


@[jianfanzhuo123](/user/764794) 我就抄
by yesijie @ 2023-07-14 19:56:56


@[yesijie](/user/929344) 6
by caolvchong_ @ 2023-07-14 20:11:55


@[jianfanzhuo123](/user/764794) 你6你*******我直接*****
by yesijie @ 2023-07-18 18:02:39


@[yesijie](/user/929344) 额...
by caolvchong_ @ 2023-07-18 19:31:12


|