hdu 5366 简单递推
2015-08-09 13:55
239 查看
记f[i]为在长度是i的格子上面至少放一个木桩的方法数。考虑第i个格子,有放和不放两种情况。
1.如果第i个格子放了一个木桩,则i - 1和i - 2格子上面不能放木桩,方案数为:f[i - 3] + 1
2.如果第i个格子没有放木桩,则方案数为:f[i - 1]
然后递推即可。
1.如果第i个格子放了一个木桩,则i - 1和i - 2格子上面不能放木桩,方案数为:f[i - 3] + 1
2.如果第i个格子没有放木桩,则方案数为:f[i - 1]
然后递推即可。
#include <iostream> using namespace std; typedef long long ll; const int N = 61; ll f ; void init() { f[1] = 1; f[2] = 2; f[3] = 3; for ( int i = 4; i < N; i++ ) { f[i] = f[i - 1] + f[i - 3] + 1; } } int main () { init(); int n; while ( cin >> n ) { cout << f << endl; } return 0; }
相关文章推荐
- struts工作原理
- 数据恢复教程
- hdu 5366 排列组合
- Android Activity 知识点全面总结
- HDU-OJ Problem - 1042 N!
- 算法题的常规解题思路
- Android工程各个文件夹的功能区别
- bzoj-3052 糖果公园
- 从工作中认识自己
- android内存优化
- python学习笔记1.2
- [NT API] Open Any Registry Key for Full Access
- Paramics插件编程进程间通讯
- 搭建SpringMVC框架
- Zend Guard 6 使用教程
- JAVA中的树的遍历
- Python自然语言处理 NLTK包中的 text3.generate() 命令出错 'Text' object has no attribute 'generate'
- js 标题元素搜索
- [Data Structure & Algorithm] 八大排序算法
- 远程部署tomcat工程到Linux服务器