E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
poj1664
POJ1664
放苹果问题(递归)
目录
POJ1664
放苹果问题(递归)一、递归简介二、题目描述三、输入、输出格式四、输入输出样例五、题目分析六、测试代码一、递归简介程序调用自身的编程技巧称为递归(recursion)。
小徐同学在学啦
·
2023-02-04 16:29
算法
c++
算法
c语言
poj1664
放苹果(经典递归)
链接:http://poj.org/problem?id=1664题意:略略略思路:递归分析:问题:f(m,n);划分为几个子问题:有m个苹果,n个盘子,首先就要思考到这个盘子与苹果的数量对结果会有影响,其次,空盘子的数量也有影响。(1)若m=n,苹果多,可分为:有空盘子和没有空盘子。如果有空盘子,那么至少有一个空盘子,则此分支方案数为f(m,n-1);对立的情况就是没有空盘子,也就是说n个盘子每
lzk_1049668876
·
2020-08-20 01:30
递归
多想想
Poj1664
放苹果
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0=n时,又会分为两种情况:1,没有盘子空下来,那么每个盘子放1个,然后剩余m-n个放在n个盘子里,即a[m][n]=a[m-n][n]2,有一个盘子空下来,m个放n-1个盘子里,即a[m][n]=a[m][n-1]。可能你会对这种
Dave_L
·
2020-08-19 23:49
DP
放苹果(
poj1664
),递推与递归
/*放苹果解题分析这也是一个recursiontree,我想到了用递归函数求解,但是实现细节不对路。递归函数思路是这样的:f(m,n)表示m个苹果、n个盘子时候的放法,有以下两种情况:1.m=n。即果子比盘子多,这又分为两种情况:(1)所有盘子都有至少一个果子,把这个果子都拿掉,放法数量不变,为f(m-n,n);(2)有至少一个盘子为空,于是m个果子要在剩下的n-1个盘子里面放,为f(m,n-1)
mach7
·
2020-08-14 07:37
整数划分问题的解决-
POJ1664
放苹果TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:17189Accepted:10849Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0n时,也分两种情况讨论,一种是至少有一个盘子里不放苹果,这样子
maybeevil
·
2020-08-13 15:49
POJ1664
放苹果 (母函数)
传送门:http://poj.org/problem?id=1664思路:多校见过类似的题目,简单母函数题目,不过比赛的时候,直接给出了解题分析:用的递归写的,感觉不是太理解。递归:(见注释)#include#include#include#include#include#include#include#include#include#include#include#include#include
ACMerszl
·
2020-07-14 20:28
【POJ】
【暑假集训】
【数论】
TYUT-A专题题解(废除)
新题解参见:TYUT-A专题题解TYUT-A专题题解09记忆化递归
POJ1664
放苹果【递推+记忆化递归】海岛Blog-CSDN博客POJ1579HDU1331HDU1579ZOJ1168FunctionRunFun
海岛Blog
·
2020-06-26 19:32
#
废除
Poj 1664
Poj1664
题意中文题。。。略了思路没做出来,上网查了之后发现用递归的思想。
vanadia
·
2019-12-11 22:25
排列组合 "n个球放入m个盒子"问题 总结
算法:HDU-6397CharacterEncoding插板法+容斥原理https://blog.csdn.net/xiang_6/article/details/81868989[ACM]
POJ1664
陈晨辰~
·
2018-09-09 12:50
生涯
POJ1664
(放苹果)
思路:设solve(m,n)为放m个苹果到n个盘子的方法总数。1.如果mn,即苹果比盘子多,那么:a.n个盘子全部放,不留空盘子,即用n个苹果放满n个盘子,剩下的m-n个苹果再放,即solve(m-n,n);b.留至少一个的空盘子,即用m个苹果放n-1个盘子,即solve(m,n-1);此时solve(m,n)=solve(m,n-1)+solve(m-n,n);#include#include#
一条菜狗
·
2018-09-04 18:49
ACM
POJ1664
记忆递归,简单易懂
importjava.io.File;importjava.io.FileNotFoundException;importjava.util.Scanner;publicclassDivideApple3{staticlong[][]results;publicstaticvoidmain(String[]args)throwsFileNotFoundException{//TODOAuto-ge
Tb5821
·
2016-12-08 13:53
私人
POJ 1664 分苹果(递归)。
POJ1664
分苹果。(递归)递归经常要用,但是作为新手用得不熟练。这道题其实不难,但是做的时候也看了一些别人的博客的分析。
Vit_rose
·
2016-05-10 11:00
递归
poj1664
经典深搜
Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0 usingnamespacestd; intChai(intm,intn) { if(m>num; while(num--){ cin>>m>>n; cout usingnamespacestd; in
Summer__show_
·
2016-04-13 19:00
poj1664
(递推)
题目链接:http://poj.org/problem?id=1664题目大意:如题解题思路:有m个苹果和n个盘子,1.如果m=n,则分为两种情况,有至少一个盘子空着,或者是全部盘子都占满,此时只需要考虑每个盘子中都有一个苹果,剩下的苹果如何摆放,因此f[m][n]=f[m][n-1]+f[m-n][n];AC代码;#includeusingnamespacestd;intmain(){intt;
T_world
·
2016-02-05 09:33
递推
poj1664
(递推)
题目链接:http://poj.org/problem?id=1664题目大意:如题解题思路:有m个苹果和n个盘子,1.如果m=n,则分为两种情况,有至少一个盘子空着,或者是全部盘子都占满,此时只需要考虑每个盘子中都有一个苹果,剩下的苹果如何摆放,因此f[m][n]=f[m][n-1]+f[m-n][n];AC代码;#include usingnamespacestd; intmain() { i
Runner__1
·
2016-02-05 09:00
算法
ACM
poj
【动态规划+递归】:
poj1664
,放苹果
http://poj.org/problem?id=1664组合数学题,下面的叙述m=n,m>n时的情况由组合数学可以给出证明,不详细讨论。不妨令f(m,n)表示m个苹果放到n个盘子里有多少种放法:(1):当盘子数为1的时候,只有一种放法就是把所有苹果放到一个盘子里。(2):当苹果数为1的时候,也只有一种放法,注意题目中说明,盘子之间并无顺序,所以不管这个苹果放在哪个盘子里,结果都算一个。(3):
mmc2015
·
2015-12-03 22:00
递归
动态规划
放苹果
poj1664
poj1664
放苹果(递归)
转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem?id=1664 ------------------------------------------------------------------------------------------------------
·
2015-11-13 19:28
poj
poj1664
放苹果
此方法是看了别人的题解的,利用像dp的思维做,f[m][n] = f[m][n-1]+f[m-n][n], 其中f[m][n]表示m个水果n个盘子时总的放的方法数,因为f[m][n]总可以 通过有空盘子或者没空盘子来放,f[m][n-1]表示有空盘子的情况,而 f[m-n][n]表示没有空盘子的情况,思路非常巧妙 #include <i
·
2015-11-13 03:05
poj
POJ1664
View Code 1 #include<cstdio> 2 #include<cstdlib> 3 #define N 12 4 int f[N][N]; 5 6 int init(int m,int n){ 7 int i,j; 8 if(m==1||n==1)return 1; 9 else if(m=
·
2015-11-13 00:10
poj
poj1664
放苹果
Description 把M个同样的苹果放在N个 同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 Input 第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。 Output 对输入的每组数据M和N,用一行输出相应的K。 Sa
·
2015-11-11 10:28
poj
poj1664
(放苹果)
题目链接:http://poj.org/problem?id=1664 关于放苹果的那些事。。。。。。。。。。 今天偶然看到一个关于整数划分的算法, 仔细看了后,我想到了放苹果的事,其实这个问题困扰了我很久,一直没想明白放苹果的原理。记得当时做这个题的时候,自己的分析的方法和整数划分的算法是一样的,就是没想到用递归就能做出来,看了一位dn的博客,终于明白是
·
2015-11-11 01:38
poj
poj1664
用DFS算法即可。 思想:(1)按照苹果数递减的方法,从而保证了所排列的情况不会出现重复的现象。 (2)判断条件(s==n)即所排列的盘子数和总盘子数相等的情况下,比较所放的苹果数是否相等,即 t==m. (3)
·
2015-11-11 01:05
poj
poj1664
题意:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 分析:dp,我们认为每个盘子所放的苹果数组成的数列是降序的,讨论最后一个盘子放不放苹果,若放则前面每个盘子都放,方法数相当于把每盘方一个之后剩下的m-n个苹果往n个盘子里放,若不放则相当于把m个苹果放入n-1个盘子。 View Code #in
·
2015-11-10 22:34
poj
关于poj 放苹果
今天重新看整数划分想到了
poj1664
,写一下解题报告,免得总忘。
·
2015-11-09 12:29
poj
POJ1664
(简单动态规划)
1 #include<iostream> 2 #include<string> 3 #include<cstring> 4 using namespace std; 5 int f[12][12]; 6 void F(int m,int n) 7 { 8 int i,j; 9 for(int i=0;i<
·
2015-11-09 11:12
动态规划
poj1664
放苹果
1 #include<stdio.h> 2 inline int f(int m,int n)//m代表苹果数,n代表盘子数 3 { 4 if(m==0||n==1) return 1;//当没有苹果可放时,定义为1种放法;当n=1时,所有苹果都必须放在一个盘子里,所以返回1; 5 if(n>m) return f(m,m); 6
·
2015-11-07 13:24
poj
poj1664
放苹果 <整数拆分>
链接:http://poj.org/problem?id=1664 View Code 1 #include <cstdio> 2 #include <cstdlib> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 usi
·
2015-11-05 09:40
poj
poj 1283 Moving Computer
这个题与
poj1664
一样的类型的题目,但是这题的数据量比较大,如果像1664那样做,就会超时,因为有很多重复的计算; View Code #include<iostream>
·
2015-11-05 08:33
com
POJ1664
(递归)
题意很明确,把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? 解题思路:所有不同的摆放方法可以分为两类:至少有一个盘子空着和所有盘子都不空。分别计算这两类摆放方法的数目,然后把它们加起来。设f(m,n)为 m 个苹果,n 个盘子的方法数目,如果 n>m,必定有 n-m 个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响;即 if ( n>m )
·
2015-11-03 22:25
poj
poj1664
放苹果
1664:放苹果 时间限制: 1000ms 内存限制: 65536kB 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 输入 第一行是测试数据的数目t(
·
2015-11-01 15:57
poj
放苹果(
poj1664
递归)
ti放苹果 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 24392 Accepted: 15513 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,
·
2015-10-27 14:50
poj
POJ 1664 放苹果
POJ1664
放苹果TimeLimit:1000MS MemoryLimit:10000KB 64bitIOFormat:%I64d&%I64uDescription把M个同样的苹果放在
chengd415
·
2015-08-11 15:09
递推
ACM算法
poj1664
放苹果 解题报告
描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。输入第一行是测试数据的数目t(0m,必定n-m永远空着,就把他们丢了,f(m,n)=f(m,m)当n #include #include usingnamespacestd; //注意要让m=0返回1,例子,f(2,2)=f(2,1)+f(0,2)=2,如果让f(
qq_21899803
·
2015-07-28 16:00
POJ1664
放苹果
DescriptionWearegoingtoplaceMsameapplesintoNsameplates.Therecouldbesomeemptyplates.Howmanymethodsdowehave?Whenwehave7applesand3plates,themethods,(1,5,1)and(5,1,1)arethesame.InputThefirstlineisthenumbe
yanerhao
·
2015-07-23 16:00
放苹果(整数划分变形题 水)
poj1664
问题:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。样例:173---------------855---------------7思路:当m>n时候dp(m,n)可以理解由 在每个盘子里放一个苹果后剩下的再随意放入n个盘子dp(m-n,n)的状态+最少一个盘子不放dp(m,n-1) 当m==n时,此时分两种情况
u012349696
·
2015-06-12 15:00
动态规划
苹果
poj1664
中文题目- -,终于有个中文的,啥都不说了啊!!! 放苹果 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26729 Accepted: 16985 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共
·
2015-04-01 15:00
poj
poj1664
dp记忆化搜索
http://poj.org/problem?id=1664Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0n时,也分两种情况讨论,一种是至少有一个盘子里不放苹果,这样子就相当于f(m,n-1),第二种是,先取出n个苹果一个盘子里放一个,再将剩下的m-n个
u013573047
·
2015-03-20 09:00
POJ1664
——放苹果
放苹果TimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 26595 Accepted: 16906Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0j,要么至少有一个盘子空,要么都有(先拿出j个平摊
Guard_Mine
·
2014-11-07 11:00
dp
Poj1664
!【递归】
/*放苹果 TimeLimit:1000MSMemoryLimit:10000K TotalSubmissions:26079Accepted:16588 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。 Input 第一行是测试数据的数目t(0 intf(intx,i
u014641529
·
2014-08-20 19:00
c
放苹果(
poj1664
),递推与递归
/*放苹果解题分析这也是一个recursiontree,我想到了用递归函数求解,但是实现细节不对路。递归函数思路是这样的:f(m,n)表示m个苹果、n个盘子时候的放法,有以下两种情况:1.m=n。即果子比盘子多,这又分为两种情况:(1)所有盘子都有至少一个果子,把这个果子都拿掉,放法数量不变,为f(m-n,n);(2)有至少一个盘子为空,于是m个果子要在剩下的n-1个盘子里面放,为f(m,n-1)
mach7
·
2014-02-26 10:00
递归
数据结构与算法
OpenJudge
放苹果
poj1664
【dp】
poj1664
放苹果Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0 #include #include usingnamespacestd; longt,n,m; longf[13][13]; intmain() { freopen("poj1664.in","r",
hetangl2
·
2014-02-24 14:00
poj
POJ1664
Problem BTimeLimit:2000/1000ms(Java/Other) MemoryLimit:20000/10000K(Java/Other)TotalSubmission(s):10 AcceptedSubmission(s):7ProblemDescription把M个同样的苹果放在N个同样的盘子里
·
2013-11-30 22:00
poj
POJ1664
:放苹果(DFS)
Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0=m时,那么1.将至少其中一个盘不放,那么就是n个苹果放到m-1个盘的方法2.每个盘放一个,然后就是n-m个放在m个盘的放法 #include #include #include usingnamesp
libin56842
·
2013-11-30 21:00
poj
继下午的POJ_1644_放苹果的dfs(深度优先搜索)算法解决代码
/*****
POJ1664
放苹果********/ /********writtenbyC_Shit_Hu************/ /*******************************
hu1020935219
·
2013-09-11 19:00
POJ,北大OJ,1664 ,放苹果。递推解法。。。
/*****
POJ1664
放苹果********/ /********writtenbyC_Shit_Hu************/ /*******************************
hu1020935219
·
2013-09-11 16:00
POJ1664
(放苹果,感觉比较有意思)
#include #include #include usingnamespacestd; intcounter(intx,inty){ if(y==1||x==0){return1;} if(x>t; for(inti=0;i>m>>n; cout<<counter(m,n)<<endl; } return0; }
wangwenhao00
·
2013-02-18 23:00
poj1664
采用递归的算法来进行结果算出!#includeusingnamespacestd;intfun(intm,intn){ intz; if(m==0||n==1) return1; if(m>=n) returnfun(m-n,n)+fun(m,n-1); else returnfun(m,m);}intmain(){ intt,n,m; cin>>t;
xuezhongfenfei
·
2012-11-04 21:00
POJ1664
http://poj.org/problem?id=1664放苹果问题,m个苹果放n个盘子,盘子可以为空,1,1,5和5,1,1为同一种放法。f[m][n]表示m个苹果放n个盘子里面此问题可分为两个子问题:当m=n时,可分为两种放法,一种为至少有一个盘子为空,则有f[m][n-1]种放法。另外为n个盘子都不为空,则先将n个苹果一个一个放入n的盘子中,剩下的m-n个苹果再放入n个盘子中。此放法就相当
xcszbdnl
·
2012-08-10 23:00
apple
poj1664
#include usingnamespacestd; intf(intx,intm,intn){ if(m==0) return1; if(n==0) return0; if(x==0&&m>0) return0; inti=x; if(i>m) i=m; intsum=0; for(;i>=0;i--){ sum+=f(i,m-i,n-1); } returnsum; } intmain(
mtawaken
·
2012-03-13 21:00
简单递归:
poj1664
Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0 #include intq(intn,intm){ if(m==1||m==0)return1; elseif(n
kimili1987
·
2012-02-23 16:00
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他