帮忙解释一个状态转移方程的思路!!!!!
源自一道OJ题:http://acm.hdu.edu.cn/showproblem.php?pid=2046
解法如下,其中状态转移方程 f[i] = f[i-1] + f[i-2] 怎么来的啊??????
- C/C++ code
#include <iostream>using namespace std;const int n = 51;long long f[n] = {0};int main(){ f[1] = 1; f[2] = 2; f[3] = 3; for (int i = 4;i < n;i++) f[i] = f[i-1] + f[i-2]; int x; while (cin >> x) cout << f[x] << endl; return 0;}[解决办法]
相当于f[n-1]加上1块竖着的,f[n-2]加上2块横着的
[解决办法]
呵呵 倒推法!!递归下
[解决办法]