这章全是递推求解专题
很类似DP
现在分析各题的递推公式:
3.1.1超级楼梯
http://acm.hdu.edu.cn/showproblem.php?pid=2041
C[j]=C[j-i]+C[j-2] ///////////////C[1]=1,C[2]=1(此处没想通,为什么C[2]=1,不过题目很明显给出了)
可以理解为在要到第j层,可以从j-2层迈两阶,j-1层迈一阶。
3.1.2一只小蜜蜂
http://acm.hdu.edu.cn/showproblem.php?pid=2044
Cm-n等同于C1-(n-m+1)
num[i]=num[i-1]+num[i-2];、、、num[0]=0;num[1]=1;
数据超出int 范围,用long long可以解决
思路如3.1.1
3.1.3骨牌铺方格
http://acm.hdu.edu.cn/showproblem.php?pid=2046
num[i]=num[i-1]+num[i-2];、、、num[0]=1;num[1]=1;
如3.1.2 用long long
3.1.4母牛的故事
http://acm.hdu.edu.cn/showproblem.php?pid=2018
num[i]=num[i-1]+num[i-3];、、、num[0]=1;num[1]=1;num[2]=2;num[3]=3;
第5天的牛数等于昨天的牛数加上第2天的牛数即(第一天的牛数生的小牛数加第五天大母牛生的小牛)还是long long类型
3.1.5折线分割平面
http://acm.hdu.edu.cn/showproblem.php?pid=2050
这个题是根据前几个题猜测的公式:
num[i]=2*i*i-i+1;数据用int就足够了
3.1.6Tiling easy version
http://acm.hdu.edu.cn/showproblem.php?pid=2501
num[i]=num[i-1]+2*num[i-2];long long的数据类型
在3.1.3的基础上,再添加一个情况,num[i-2]放好后再放一个2*2的骨牌
3.1.7不容易系列之3 LELE的RPG难题
http://acm.hdu.edu.cn/showproblem.php?pid=2045
num[i]=num[i-1]+num[i-2]*2;
题意很类似于3.1.6
3.1.8Queuing
http://acm.hdu.edu.cn/showproblem.php?pid=2604
这个题有俩解法。这里放一个递推的公式。另外的矩阵解法,具体的解法 等吃完饭再重新写个。
num[L]=(num[L-1]+num[L-3]+num[L-4]
long long还是会超范围,用char类型解决,打表计算好余数