递归---NYOJ-90整数划分(一)】的更多相关文章

点击打开链接 整数划分 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk,  其中n1≥n2≥-≥nk≥1,k≥1.  正整数n的这种表示称为正整数n的划分.求正整数n的不  同划分个数.  例如正整数6有如下11种不同的划分:  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. 输入 第一行是测试…
整数划分 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 将正整数n表示成一系列正整数之和:n=n1+n2+…+nk,  其中n1≥n2≥…≥nk≥1,k≥1.  正整数n的这种表示称为正整数n的划分.求正整数n的不  同划分个数.  例如正整数6有如下11种不同的划分:  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. 输入 第一行是测试数据的数目…
本文是整数划分的第二节,主要介绍整数划分的一些性质. 一 先来弥补一下上一篇文章的遗留问题:要求我们所取的 (n=m1+m2+...+mi )中  m1 m2 ... mi连续,比如5=1+4就不符合要求了.这个时候的整数划分怎么操作呢? 这个问题的答案是这样的: 假设 n = r + (r + 1) + · · · + (r + k) ,我们需要找到所有的 r,这样我们就能获得划分数目了. 对上式进一步合并我们获得了 (2r + k)(k + 1) = 2n. 我们知道等式右面为一个偶数,而左…
话说今天百度面试,可能是由于我表现的不太好,面试官显得有点不耐烦,说话的语气也很具有嘲讽的意思,搞得我有点不爽.Whatever,面试中有问到整数划分问题,回答这个问题过程中被面试官搞的不胜其烦,最后也给出了其动态规划的算法,但是显然,醉翁之意不在动态规划而在于生成函数(generating function).下面开始吧:   参考:http://www.skymoon.biz/?p=192  (问题定义以及动态规划)          http://www.artofproblemsolvi…
此题是个非常经典的题目,这个题目包含了整数划分(一)和整数划分(二)的所有情形,而且还增加了其它的情形,主要是用递归或者说是递推式来解,只要找到了递推式剩下的任务就是找边界条件了,我觉得边界也是非常重要的一步,如果找不准边界,这个题也很难做出来,当时我就是找边界找了好长时间,边界得琢磨琢磨.递推步骤如下: 第一行:将n划分成若干正整数之和的划分数.状态转移方程:dp[i][j]:和为i.最大数不超过j的拆分数dp[i][j]可以分为两种情况:1.拆分项至少有一个j 2.拆分项一个j也没有dp[i…
放苹果 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 30894   Accepted: 19504 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 <= t <= 20).以下每行均包含二个整数M和N,以空格分开.1<=M,N<=10. Output 对…
poj1664放苹果 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 33661   Accepted: 20824 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 <= t <= 20).以下每行均包含二个整数M和N,以空格分开.1<=M,N<=10. O…
HOJ1402 整数划分 http://acm.hit.edu.cn/hoj/problem/view?id=1402 [题目描述] 整数划分是一个经典的问题.希望这道题会对你的组合数学的解题能力有所帮助. Input 每组输入是两个整数n和k.(1 <= n <= 50, 1 <= k <= n) Output 对于每组输入,请输出六行. 第一行: 将n划分成若干正整数之和的划分数.第二行: 将n划分成k个正整数之和的划分数.第三行: 将n划分成最大数不超过k的划分数.第四行:…
整数划分 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 将正整数n表示成一系列正整数之和:n=n1+n2+…+nk, 其中n1≥n2≥…≥nk≥1,k≥1. 正整数n的这种表示称为正整数n的划分.求正整数n的不 同划分个数. 例如正整数6有如下11种不同的划分: 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.   输入 第一行是测试数据的数目M(1<=M<…
1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2,3},共4种.由于数据较大,输出Mod 10^9 + 7的结果即可.   Input 输入1个数N(1 <= N <= 50000). Output 输出划分的数量Mod 10^9 + 7. Input示例 6 Output示例 4 分析:这题关键在于不同的整数一个包含数字最多的划…