题解 3034: 自然数的拆分

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

自然数的拆分DFS

```cpp#includeusingnamespacestd;intn,d[9999999];voiddfs(intx,intc)//x表示的是已经找出的数字之和,c表示的找出的数字的个数{if(x>n)//如果和大于n,说明不行要回去,这是错误出口;{return;}elseif(x==n&&c!

另一个理解求所有1——n-1排列的和为k,

我原本想的是求出所有的排列和为k,任何set去重,结果搞完了才发现,顺序乱了。后面看了b站他说有一个贪心的思想:当前取的数字,一定是大于、等于上一个取数的。然后借个问题就解决了,比如:5111111112113这里就不能取2了,如果取了2就变成112,

基础的递归拆分输出

摘要:解题思路:注意事项:参考代码:#include <bits/stdc++.h>using namespace std;#define endl &#39;\n&#39;#define int long……

dfs求解自然数的拆分

摘要: #include using namespace std; int n,a[50];//a用来存储分割结果 void dfs(int t) { if (!t && a[0] ……