队花的烦恼二 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 ACM队队花C小+最近在X大OJ上做题,竟发现了一道做不出来的…水题!她快郁闷死了……也许是最近状态不太好吧……她希望大家能帮帮忙:把一个整数分成若干个不为零的整数,问有多少种不同分法. 例:7 3 其中的分法:1 1 5,1 5 1,5 1 1是同一种分法.   输入 有多组测试数据每组数据都有两个整数n,m(6<=n<=500,2<=m<=6)n表示该整数,m表示把n分成m份 输出…
这道题目的递归思想和第一个题差不多, 主要思想是:func(n, m)的作用是将n划分为m个. 1. 如果n < m 的时候肯定是不能划分的,所以就返回0 2. 如果m = 1 或者 n = m 的时候,就一种划分方式 3. 如果n > m 的时候, 分为两种情况,一个是划分数中含有1, 一个是不含1, 所以含有1 的个数为func(n - 1, m - 1),意思就是从n去掉1,然后再划分m - 1个, 下面就是不含1的, func(n - m, m), 这个式子的意思为, 先取出m个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. 输入 第一行是测试…
队花的烦恼一 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描写叙述 ACM队的队花C小+常常抱怨:"C语言中的格式输出中有十六.十.八进制输出,然而却没有二进制输出,哎,真遗憾.谁能帮我写一个程序实现输入一个十进制数n.输出它的二进制数呀?" 难道你不想帮帮她吗?^_^ 输入 输入有多个数据.数据以EOF结束.每一个数据ni(0<=ni<=1000010000)用空格隔开: (温馨提示:EOF即是一个文件的结束标志.while(scanf(&qu…
本文是整数划分的第二节,主要介绍整数划分的一些性质. 一 先来弥补一下上一篇文章的遗留问题:要求我们所取的 (n=m1+m2+...+mi )中  m1 m2 ... mi连续,比如5=1+4就不符合要求了.这个时候的整数划分怎么操作呢? 这个问题的答案是这样的: 假设 n = r + (r + 1) + · · · + (r + k) ,我们需要找到所有的 r,这样我们就能获得划分数目了. 对上式进一步合并我们获得了 (2r + k)(k + 1) = 2n. 我们知道等式右面为一个偶数,而左…
整数划分 时间限制: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. 输入 第一行是测试数据的数目…
整数划分(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 把一个正整数m分成n个正整数的和,有多少种分法? 例:把5分成3个正正数的和,有两种分法: 1 1 3 1 2 2   输入 第一行是一个整数T表示共有T组测试数据(T<=50)每组测试数据都是两个正整数m,n,其中(1<=n<=m<=100),分别表示要拆分的正数和拆分的正整数的个数. 输出 输出拆分的方法的数目. 样例输入 2 5 2 5 3 样例输出 2 2 来源 [张云聪]原创…
题目链接 描述 暑假来了,hrdv 又要留学校在参加ACM集训了,集训的生活非常Happy(ps:你懂得),可是他最近遇到了一个难题,让他百思不得其解,他非常郁闷..亲爱的你能帮帮他吗? 问题是我们经常见到的整数划分,给出两个整数 n , m ,要求在 n 中加入m - 1 个乘号,将n分成m段,求出这m段的最大乘积   输入 第一行是一个整数T,表示有T组测试数据接下来T行,每行有两个正整数 n,m ( 1<= n < 10^19, 0 < m <= n的位数): 输出 输出每组…
话说今天百度面试,可能是由于我表现的不太好,面试官显得有点不耐烦,说话的语气也很具有嘲讽的意思,搞得我有点不爽.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…