递推
Matrix1254
爱代码,爱加班,爱咖啡可乐
爱挑战,爱钻研,爱打游戏
爱晚起,也爱工作到深夜。
我擅长技术,崇尚简单和懒惰
我神秘而孤僻,沉默而爱憎分明
我行我素,我是程序员
展开
-
2046 骨牌铺方格 GNU C++
#includeusing namespace std;int main(){ long long a[55]={0}; int n,i; a[1]=1; a[2]=2; a[3]=3; for(i=4;i<=51;i++){ a[i]=a[i-1]+a[i-2]; } while(scanf("%d",&n)!=EOF){ printf("%l原创 2012-11-28 09:46:31 · 1743 阅读 · 0 评论 -
hdu 2045 LELE的RPG难题
分析:假设有n个方格时涂法有f(n)种,在已有n-1个方格的情况下再增添第n个方格使得第n-1个方格由原来的最后一个方格成为倒数第二个方格,这样它可以选择的颜色种类有变化。起初方格n-1作为最后一个方格,它不能与方格1和方格n-2同色,此时,(1)当方格n-2与方格1同色时,n-1只需与n-2不同色即满足条件,注意此时方格n-1与方格1必不同色,因而加上第n个方格时,第n个方格的颜色已经确定了(作原创 2012-11-28 09:15:14 · 510 阅读 · 0 评论 -
hdu1297 Children’s Queue
递推得出公式:F(n)=F(n-1)+F(n-2)+F(n-4), n>=4. F(0)=1,F(1)=1,F(2)=1,F(3)=4.用long long会WA,发现得用大数来做。得开一个二维数据F[1005][101],每一位保存4位整数。输出F[n]即可。输出要小心,得先输出第一个,再循环输出,位数不够4位得前补0。AC代码如下:#includeint main(原创 2012-11-28 11:13:23 · 509 阅读 · 0 评论 -
hdu 2563 统计问题
递推:设a[n]是向上走n步的方法数,b[n]是向左或向右的方法数,則a[n] = a[n-1] + b[n-1],b[n] = b[n-1] + 2*a[n-1];因为f[n] = a[n]+b[n]化简f[n] = 3*a[n-1] + 2*b[n-1] = 2*f[n-1] + a[n-1]又因为f[n-2] = a[n-2] + b[n-2] = (a[n-1] - b原创 2012-11-28 23:41:23 · 452 阅读 · 0 评论