- POJ1664 放苹果问题(递归)
小徐同学在学啦
算法c++算法c语言
目录POJ1664放苹果问题(递归)一、递归简介二、题目描述三、输入、输出格式四、输入输出样例五、题目分析六、测试代码一、递归简介程序调用自身的编程技巧称为递归(recursion)。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题
- poj1664放苹果(经典递归)
lzk_1049668876
递归多想想
链接:http://poj.org/problem?id=1664题意:略略略思路:递归分析:问题:f(m,n);划分为几个子问题:有m个苹果,n个盘子,首先就要思考到这个盘子与苹果的数量对结果会有影响,其次,空盘子的数量也有影响。(1)若m=n,苹果多,可分为:有空盘子和没有空盘子。如果有空盘子,那么至少有一个空盘子,则此分支方案数为f(m,n-1);对立的情况就是没有空盘子,也就是说n个盘子每
- Poj1664 放苹果
Dave_L
DP
把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]。可能你会对这种
- 放苹果(poj1664),递推与递归
mach7
/*放苹果解题分析这也是一个recursiontree,我想到了用递归函数求解,但是实现细节不对路。递归函数思路是这样的:f(m,n)表示m个苹果、n个盘子时候的放法,有以下两种情况:1.m=n。即果子比盘子多,这又分为两种情况:(1)所有盘子都有至少一个果子,把这个果子都拿掉,放法数量不变,为f(m-n,n);(2)有至少一个盘子为空,于是m个果子要在剩下的n-1个盘子里面放,为f(m,n-1)
- 整数划分问题的解决-POJ1664
maybeevil
放苹果TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:17189Accepted:10849Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。Input第一行是测试数据的数目t(0n时,也分两种情况讨论,一种是至少有一个盘子里不放苹果,这样子
- POJ1664 放苹果 (母函数)
ACMerszl
【POJ】【暑假集训】【数论】
传送门:http://poj.org/problem?id=1664思路:多校见过类似的题目,简单母函数题目,不过比赛的时候,直接给出了解题分析:用的递归写的,感觉不是太理解。递归:(见注释)#include#include#include#include#include#include#include#include#include#include#include#include#include
- TYUT-A专题题解(废除)
海岛Blog
#废除
新题解参见:TYUT-A专题题解TYUT-A专题题解09记忆化递归POJ1664放苹果【递推+记忆化递归】海岛Blog-CSDN博客POJ1579HDU1331HDU1579ZOJ1168FunctionRunFun【记忆化递归】-海岛Blog-CSDN博客HDU1028IgnatiusandthePrincessIII【整数划分+记忆化递归】-海岛Blog-CSDN博客HDU2569彼岸【打表+
- Poj 1664
vanadia
Poj1664题意中文题。。。略了思路没做出来,上网查了之后发现用递归的思想。分为两种情况1.至少一个盘子空着则该问题简化为n-1个盘子,m个苹果2.每个盘子至少一个苹果,那剩下的苹果的放法则为n个盘子,m-n个苹果。一直递归到苹果的数量为0,则只有1种情况。盘子为1的时候,也只有1种放法。当盘子比苹果多的时候,则都为m个盘子和m苹果放法一样。#include#includeusingnamesp
- 排列组合 "n个球放入m个盒子"问题 总结
陈晨辰~
生涯
算法:HDU-6397CharacterEncoding插板法+容斥原理https://blog.csdn.net/xiang_6/article/details/81868989[ACM]POJ1664放苹果(n个相同小球放入m个相同盒子)https://blog.csdn.net/sr_19930829/article/details/38293297m个相同的bean和n棵不同的树,每棵树可
- POJ1664(放苹果)
一条菜狗
ACM
思路:设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#
- POJ1664 记忆递归,简单易懂
Tb5821
私人
importjava.io.File;importjava.io.FileNotFoundException;importjava.util.Scanner;publicclassDivideApple3{staticlong[][]results;publicstaticvoidmain(String[]args)throwsFileNotFoundException{//TODOAuto-ge
- POJ 1664 分苹果(递归)。
Vit_rose
递归
POJ1664分苹果。(递归)递归经常要用,但是作为新手用得不熟练。这道题其实不难,但是做的时候也看了一些别人的博客的分析。题目:/*描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。输入第一行是测试数据的数目t(0=n.这时又细分两种情况,我区分说明记为a和b:a是使没有盘子是空的情况:这时的分发为n个盘子每个
- poj1664 经典深搜
Summer__show_
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
- poj1664(递推)
T_world
递推
题目链接: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;
- poj1664(递推)
Runner__1
算法ACMpoj
题目链接: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
- 【动态规划+递归】:poj1664,放苹果
mmc2015
递归动态规划放苹果poj1664
http://poj.org/problem?id=1664组合数学题,下面的叙述m=n,m>n时的情况由组合数学可以给出证明,不详细讨论。不妨令f(m,n)表示m个苹果放到n个盘子里有多少种放法:(1):当盘子数为1的时候,只有一种放法就是把所有苹果放到一个盘子里。(2):当苹果数为1的时候,也只有一种放法,注意题目中说明,盘子之间并无顺序,所以不管这个苹果放在哪个盘子里,结果都算一个。(3):
- poj1664 放苹果(递归)
poj
转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents
题目链接:http://poj.org/problem?id=1664
------------------------------------------------------------------------------------------------------
- poj1664放苹果
poj
此方法是看了别人的题解的,利用像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
- POJ1664
poj
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=
- poj1664放苹果
poj
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
- poj1664(放苹果)
poj
题目链接:http://poj.org/problem?id=1664
关于放苹果的那些事。。。。。。。。。。
今天偶然看到一个关于整数划分的算法, 仔细看了后,我想到了放苹果的事,其实这个问题困扰了我很久,一直没想明白放苹果的原理。记得当时做这个题的时候,自己的分析的方法和整数划分的算法是一样的,就是没想到用递归就能做出来,看了一位dn的博客,终于明白是
- poj1664
poj
用DFS算法即可。
思想:(1)按照苹果数递减的方法,从而保证了所排列的情况不会出现重复的现象。
(2)判断条件(s==n)即所排列的盘子数和总盘子数相等的情况下,比较所放的苹果数是否相等,即 t==m.
(3)
- poj1664
poj
题意:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
分析:dp,我们认为每个盘子所放的苹果数组成的数列是降序的,讨论最后一个盘子放不放苹果,若放则前面每个盘子都放,方法数相当于把每盘方一个之后剩下的m-n个苹果往n个盘子里放,若不放则相当于把m个苹果放入n-1个盘子。 View Code #in
- 关于poj 放苹果
poj
今天重新看整数划分想到了poj1664,写一下解题报告,免得总忘。
归结为各种分配问题:
M个苹果放入N个盘子里 【1】
M相同,N相同,可为空: 允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 【其实这跟将一个整数m分成n个整数之和是类似的】: 贴上自己当时的代码: View Code
#include<cs
- 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<
- poj1664 放苹果
poj
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
- poj1664 放苹果 <整数拆分>
poj
链接: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
- poj 1283 Moving Computer
com
这个题与poj1664一样的类型的题目,但是这题的数据量比较大,如果像1664那样做,就会超时,因为有很多重复的计算; View Code
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cmath>
- POJ1664(递归)
poj
题意很明确,把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?
解题思路:所有不同的摆放方法可以分为两类:至少有一个盘子空着和所有盘子都不空。分别计算这两类摆放方法的数目,然后把它们加起来。设f(m,n)为 m 个苹果,n 个盘子的方法数目,如果 n>m,必定有 n-m 个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响;即 if ( n>m )
- poj1664 放苹果
poj
1664:放苹果
时间限制:
1000ms
内存限制:
65536kB
描述
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
输入
第一行是测试数据的数目t(
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include