此题是个非常经典的题目,这个题目包含了整数划分(一)和整数划分(二)的所有情形,而且还增加了其它的情形,主要是用递归或者说是递推式来解,只要找到了递推式剩下的任务就是找边界条件了,我觉得边界也是非常重要的一步,如果找不准边界,这个题也很难做出来,当时我就是找边界找了好长时间,边界得琢磨琢磨。递推步骤...
分类:
其他好文 时间:
2014-10-31 23:33:06
阅读次数:
344
这道题目的递归思想和第一个题差不多, 主要思想是:func(n, m)的作用是将n划分为m个。1. 如果n m 的时候, 分为两种情况,一个是划分数中含有1, 一个是不含1, 所以含有1 的个数为func(n - 1, m - 1),意思就是从n去掉1,然后再划分m - 1个, 下面就是不含1的,....
分类:
其他好文 时间:
2014-10-30 18:52:33
阅读次数:
156
这个题理解了好大会才理解,看了网上的代码,不太理解,但是后来看了好几个人的, 大同小异吧,慢慢的就理解了。思路:递归函数的意思是, 将 n 划分为最大数为 m 的划分数, 可以分几种情况1. 当n = 1 的时候, 这时候就是将1划分, 也就是递归的出口, 1 肯定只能划分为 1, 所以返回12. ...
分类:
其他好文 时间:
2014-10-29 23:38:23
阅读次数:
209
1263: [SCOI2006]整数划分Time Limit:1 SecMemory Limit:162 MBSubmit:677Solved:332[Submit][Status]Description从文件中读入一个正整数n(10≤n≤31000)。要求将n写成若干个正整数之和,并且使这些正整数...
分类:
其他好文 时间:
2014-10-02 14:18:42
阅读次数:
249
将一个整数划分为数个整数之和的划分方式求解,详细描述了该递归过程。...
分类:
其他好文 时间:
2014-09-13 12:05:55
阅读次数:
209
整数划分问题:将一个正整数n表示成一系列正整数之和,n=n[1]+n[2]+...+n[k],其中n[1]>=n[2]>=...>=n[k]>=1,k>=1。正整数n的一个这种表示称为n的一个划分。求n的不同划分个数。 用递归算法求解:(1)递归子结构性质:显然n的一个划分中包含了某个子问题t(m>...
分类:
其他好文 时间:
2014-08-29 23:54:38
阅读次数:
408
http://acm.nyist.net/JudgeOnline/problem.php?pid=90#include #include #include #include #include #include #include #include #include #include #include ...
分类:
其他好文 时间:
2014-08-28 16:06:39
阅读次数:
227
题意就是整数划分,选出和为n的K个整数,其中K-1个数的和为完全平方数S。选择整数时需要从1,2,3..连续选择,当选择整数与n-S相等时,需要跳过n-S,即选择n-S+1。如此选择K-2个数,从而可确定第K-1个数,若该数已经出现(小于或等于K-2),则划分失败;若第K-1个数不等于n-S,则肯定...
分类:
其他好文 时间:
2014-08-27 20:21:38
阅读次数:
182
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 0 ),只有一种划分即 { 1 }; (2) 当 m = 1 时,不论n的值为多少,只有一种划分即 n ....
分类:
其他好文 时间:
2014-08-21 09:38:53
阅读次数:
267
分治算法,有很多典型的问题,如最近点问题、线性选择问题、整数划分问题、大整数成绩问题、棋盘覆盖问题、循环赛日程表、二分搜索、Strassen矩阵乘法、汉诺塔等。准备花些时间逐个解决这些问题,并用Java实现,从最近点问题开始。网上找到一些代码,标题如“java 用蛮力法和分治法求解最近对有关问题”,虽然体现了分治,但划分不够彻底,因此我重新对其进行了实现。
一、基本思想及策略:...
分类:
编程语言 时间:
2014-08-12 22:10:54
阅读次数:
233