hdu 超级楼梯 解题报告
2014-06-28 18:11
197 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041
哦~~对了,这些题读者可以直接忽略,我只是想练习一下自己薄弱的地方......
题目意思我就不说了...自从昨晚问完乌冬兄一条DP题之后,“一体就知道系DP啦,而且仲好简单噶DP...”。就深感自己是如此地弱......可能有一段相当漫长的时间不会再找他了,毕竟一个喳喳对着一个区域赛银牌的人,自尊心作祟,而且,很大压力!我发现我好多不会......他好像以为我什么都会......
这条题以前做过,用递推做的,因为昨天那题说用到记忆化搜索,现在就用记忆化搜索做。调了一下,加深了递归的理解。我觉得,递归对我来说,就是一只拦路虎,只能通过多做来努力去攻克了,fighting!!!
这个是我通过调试并在纸上模拟过程做的。代表到达第6级楼梯时有多少种走法。
哦~~对了,这些题读者可以直接忽略,我只是想练习一下自己薄弱的地方......
题目意思我就不说了...自从昨晚问完乌冬兄一条DP题之后,“一体就知道系DP啦,而且仲好简单噶DP...”。就深感自己是如此地弱......可能有一段相当漫长的时间不会再找他了,毕竟一个喳喳对着一个区域赛银牌的人,自尊心作祟,而且,很大压力!我发现我好多不会......他好像以为我什么都会......
这条题以前做过,用递推做的,因为昨天那题说用到记忆化搜索,现在就用记忆化搜索做。调了一下,加深了递归的理解。我觉得,递归对我来说,就是一只拦路虎,只能通过多做来努力去攻克了,fighting!!!
这个是我通过调试并在纸上模拟过程做的。代表到达第6级楼梯时有多少种走法。
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; const int maxn = 40 + 10; int a[maxn]; int f(int n) { if (n == 1 || n == 2) return a = 1; if (a != -1) // 这里用到记忆化搜索 return a ; return a = f(n-1) + f(n-2); } int main() { int n, m; memset(a, -1, sizeof(a)); while (scanf("%d", &n) != EOF) { while (n--) { scanf("%d", &m); printf("%d\n", f(m)); } } return 0; }
相关文章推荐
- YT03-递推求解课后题目-1002 超级楼梯-(6.7日-烟台大学ACM预备队解题报告)
- HDU 1180 诡异的楼梯 解题报告
- HDU:2041上楼梯问题解题报告
- hdu 1180 诡异的楼梯 bfs+优先队列 解题报告
- hdoj 2041超级楼梯 解题报告(递推题)
- hdu 2139解题报告
- hdu 1019解题报告
- HDU 3335 解题报告
- hdu 2516解题报告
- HDU第11版解题报告(农夫版)
- HDU 1217 Arbitrage 解题报告
- HDU--2104--hide handkerchief--解题报告(辗转相除的运用)
- HDU 2469 Fire-control System解题报告
- HDU 1856 More is better 解题报告
- HDU 1587 Flowers 解题报告
- HDU 3732 Ahui Writes Word 解题报告
- hdu 1064 解题报告
- HDU 3336 解题报告
- Hdu 1009 FatMouse' Trade解题报告
- 终曲(hdu 2572)解题报告