hdu 2563 统计问题(递推)
2015-08-14 22:58
330 查看
原题链接:
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=3§ionid=1&problemid=8
分析:
分直走和左右走。
直走:
直走每一步都可直走,所以有a[ i ]=F [ i-1 ].
左右走:
①上一步直走,则可左右走,所以有 a[ i-1 ] * 2 .
②上一步左右走,则只可左右走,所以有 b[ i-1 ].
F[ i ] =F [ i-1 ]+a[ i-1 ]*2+b [ i -1 ]
=2*F[ i-1 ]+ a[i-1]
=2*F[ i-1 ]+F[ i-2 ]
代码如下:
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=3§ionid=1&problemid=8
分析:
分直走和左右走。
直走:
直走每一步都可直走,所以有a[ i ]=F [ i-1 ].
左右走:
①上一步直走,则可左右走,所以有 a[ i-1 ] * 2 .
②上一步左右走,则只可左右走,所以有 b[ i-1 ].
F[ i ] =F [ i-1 ]+a[ i-1 ]*2+b [ i -1 ]
=2*F[ i-1 ]+ a[i-1]
=2*F[ i-1 ]+F[ i-2 ]
代码如下:
#include<iostream> #include<cstring> #include<string> #include<cstdio> #include<algorithm> using namespace std; long long dt[25] = {0,3,7}; int main() { for (int i = 3; i <= 20; i++) dt[i] = 2 * dt[i - 1] + dt[i - 2]; int T; scanf("%d", &T); while (T--) { int n; scanf("%d", &n); printf("%d\n", dt ); } return 0; }
相关文章推荐
- 从今天开始研究Linux内核,day by day坚持下去 -- “什么时候开始都不算晚,晚的是你总是不敢开始”
- makefile文件中的一些问题
- Android Activity的四种启动模式
- 台湾国立大学机器学习基石.听课笔记(第九讲):Linear Regression
- 九度 Online Judge 算法 刷题 题目1070:今年的第几天?
- 数据连接池
- java项目经验
- 【UVa 400】Unix ls
- 以“图片渐入渐出”为例讲述jQuery插件的具体实现
- 【JS】<c:foreach>用法
- mongodb 数据库操作--备份 还原 导出 导入
- 自制MFC消息响应定位器+原理分析
- linux下标准编辑器vi及其升级版本vim的五个保存命令
- HDU-1285 确定比赛名次(拓扑排序)
- 九度 Online Judge 算法 刷题 题目1067:n的阶乘
- 转战Androidstudio之引入jar和so
- iOS----轻松掌握AFN网络顶级框架
- 温故而知新 scala第6讲map,tuple,zip
- 九度 Online Judge 算法 刷题 题目1066:字符串排序
- Lesson1 UIWidow,UIView,UILabel的使用