数的划分解题报告

原创 2012年03月24日 20:18:28
#include <iostream>
#include <cstdio>
using namespace std;


long n,k;
long time;
void trac(long dep,long pre,long n)
{
    ///n为当前剩余将要分解的数
    ///pre为要试放的数
    if(dep == k)
    {
        if(n >= pre)
        {
            time++;
            return ;
        }
    }
    for(int i = pre; i< (n/2); i++) ///因为是组合不是排列,所以只需考虑前n/2即可
        ///  比如 7 = 2+5 = 5+2是一样的
    {
        trac(dep+1,i,n-i);  ///考虑下一次对n-i的划分
    }
}
int main()
{
    while(cin >> n >> k)
    {
        trac(1,1,n);
        cout << time<<endl;
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

数的划分(第一篇解题报告)

算法训练 数的划分   时间限制:1.0s   内存限制:256.0MB        问题描述   将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。...

【codevs1779】 单词的划分 解题报告

单词的划分  codevs1779黄金Gold 题目描述 Description Problem有一个很长的由小写字母组成字符串。为了便于对这个字符串进行分析,需要将它划分成若干个部分,每个部...

NOIP 2000乘积最大 解题报告(划分型DP)

在线评测: http://codevs.cn/problem/1017/ 整体思路: 这道题看起来挺水的,,一个n3k2的算法都过了。。。就dp一下。dpi j q ...

【集合划分】解题报告

集合划分(Partition) [问题描述]          给定一个集合X = {x1, x2, x3…xn}。     定义函数D[xu, xv]:D[xu, xv]= D[xv, x...

区间第K大数——划分树(POJ2104解题报告)

百度百科:划分树是一种基于线段树的数据结构。主要用于快速求出(在log(n)的时间复杂度内)序列区间的第k大值。 划分树的基本思想就是对于某个区间,把它划分成两个子区间,左边区间的数小于右边区间的数...

POJ - 2406 Power Strings解题报告(KMP,字符串划分成若干连续相同子串)

题目大意:好像就是说,好多组测试数据,每组测试数据就是给你一串字符串,然后让你找出一个最短的子串,这个子串满足条件:若干个该子串连接就能组成原字符串。 也就是让你想办法把所给字符串划分成尽量短的若干相...

剑指offer 面试题34:寻找丑数(Leetcode 263.ugly number)解题报告

剑指offer 面试题34:寻找丑数 题目:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。请按从小到大...

[COGS371]亲和数解题报告

这道题感觉还是挺好的。 这个题吧,有两种解法。第一种吧比较暴力算是卡过的,第二种常数很小,要比第一种好很多也高端很多啦。 但是由于我对于第二种解法涉及的一些知识不是很熟悉,导致我还是放弃了它,选择了更...

HDOJ 1058:Humble Numbers 寻找丑数问题 解题报告

符合要求的丑数只含有2、3、5、7的质因子 求前5842个丑数 解题思想为:下一个最小的丑数一定在它前面的每个元素分别与2、3、5、7的乘积的结果中产生 而实际上只需跟踪4个数列即f[a]*2, f...

蓝桥杯 花朵数 解题报告

一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水...
  • wr132
  • wr132
  • 2015年02月25日 21:20
  • 937
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数的划分解题报告
举报原因:
原因补充:

(最多只允许输入30个字)