2:简单的整数划分问题
-
总时间限制:
- 100ms 内存限制:
- 65536kB
-
描述
-
将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。
正整数n 的这种表示称为正整数n 的划分。正整数n 的不同的划分个数称为正整数n 的划分数。 输入
- 标准的输入包含若干组测试数据。每组测试数据是一个整数N(0 < N <= 50)。 输出
- 对于每组测试数据,输出N的划分数。 样例输入
-
5
样例输出
-
7
提示
- 5, 4+1, 3+2, 3+1+1, 2+2+1, 2+1+1+1, 1+1+1+1+1
-
-
方法一:采用DFS的方法,对目标进行深度搜索,如图所示
-
- 上面只画了一部分的结点,就类似于一个结点一个结点的往下搜索,搜索到符合结果的就

这篇博客详细介绍了如何使用深度优先搜索(DFS)和动态规划两种方法解决OpenJudge上的7215号题目——简单的整数划分问题。通过实例解析,深入探讨了C++编程实现这两种算法的思路和过程,最终实现了0ms的高效解决方案,并已成功获得AC(Accepted)状态。
最低0.47元/天 解锁文章
1890

被折叠的 条评论
为什么被折叠?



