![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与艺术
航飞的动力飞艇
这个作者很懒,什么都没留下…
展开
-
第一讲、整数划分(回溯实现)
/** * * @author chenzhuzuo * 回溯法解决数字拆分问题 * 问题描述: * 整数的分划问题。 如,对于正整数n=6,可以分划为: 6 5+1 4+2, 4+1+1 3+3, 3+2+1, 3+1+1+1 2+2+2, 2+2+1+1, 2+1+1+1+1 1+1+1+1+1+1+1 现在的问题是,对于给定的正整数n,编转载 2016-01-30 23:56:37 · 1058 阅读 · 0 评论 -
第一讲、整数划分(分治实现之二)
package junior2015; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class Junior2015p5{ public static void转载 2016-01-30 23:59:13 · 300 阅读 · 0 评论 -
第一讲,整数划分 JAVA 代码(分治实现之一)
整数划分问题相信很多人都做过,题意是这样的: 将正整数n表示成一系列正整数之和, n=n1+n2+,,,,,+nk(其中n1>=n2>=......>=nk>=1,k>1) 例如:正整数6有如下11种不同的划分, 6=1+1+1+1+1+1 6=1+1+1+1+2 6=1+1+1+3 6=1+1+2+2 6=1+1+4 6=1+2+3 6=1+5 6=2+2+转载 2016-01-30 23:41:14 · 2227 阅读 · 0 评论 -
整数划分问题经典解法(有用)
经典的dp! 有N多情况的整数划分,下面就几种这几天学习的分别说一下: 1. 数n的划分中,其最大值不能大于k:记其结果为f(n, k),那么, 状态转移方程:当 n == 1 || k == 1 时,f(n, k) == 1, n为1,那么只能为1; 而k为1,那么只能划分成n个1. 当 n = k 时,f(n, k) = f(n-k, k) + f(n, k-1), 前半部分转载 2016-02-01 01:10:29 · 576 阅读 · 0 评论