随笔分类 -  递推求解

HDOJ 1465 不容易系列之一
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=14651、当有N封信的时候,前面N-1封信可以有N-1或者 N-2封错装2、前者,对于每一种错装,可以从N-1封信中任意取一封和第 N封错装,故=F(N-1) * (N-1)3、后者简单,只能是没装错的那封信和第N封信交换信封,没装错的那封信可以是前面N-1封信中的任意一个,故= F(N-2) * (N-1)基本形式:f[1]=0; f[2]=1递归式:f[n]= (n-1)*( f[n-1] + f[n-2]) 排错公式(以上分析来自刘春燕老师的课件,)#include<stdio.h>#inc 阅读全文

posted @ 2013-05-03 16:06 wsxjbcy 阅读(129) 评论(0) 推荐(0)

HDOJ 2050 折线分割平面
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2050n = 1 , f(n) =2,n = 2 , f(n) =7,把折线可以看成两条射线和这这两条射线的交点,1.在有n-1条直线的时候,有f(n-1)个区域,有(n-1)*2条射线,2,现在来了第n条折线,它是由两条射线和这这两条射线的交点所组成的,3,a,每一条射线都会和前面(n-1)*2条射线相交,并且产生(n-1)*2个新的区域(也就是说,,每一个交点都会产生一个新的区域),一条折线就会带来(n-1)*2*个新区域, b,每一个交点也会带来一个新的区域,#include <iostrea.. 阅读全文

posted @ 2013-05-03 16:00 wsxjbcy 阅读(180) 评论(0) 推荐(0)

HDOJ 2013 蟠桃记
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2013可以把题目反过来看,猴子第一天有一个桃子,以后每天的桃子数是前一天的的个数加1再乘以2,n = 2, f(n) = 4;猴子每天吃桃子总数的一半多一个,那么,f(n) = (f(n-1) +1) * 2,下面有两种风格的代码,第一种是来一个n,计算一次f(n),#include<iostream>using namespace std;int main(){ int n; while(cin>>n){ int a = 4; for(int i=2;i<... 阅读全文

posted @ 2013-05-03 15:37 wsxjbcy 阅读(174) 评论(0) 推荐(0)

导航