DP 爬楼梯 问题。
DP算法,爬楼梯问题可以这样分析,
dp[n]:表示到达第n层台阶有dp[n]种方法
转移方程:dp[n]=dp[n-1]+dp[n-2] (n>2); 其中dp[1]=1,dp[2]=2;
简单分析:假设我们要走到第n层台阶,他的最后一步有两种决策,一个是走一步,另一个是走两步,所以到达第n层的方法=到达第n-1层的方法+到达第n-2层的方法。
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long int ll;
ll dp[101],n,ans;
int main()
{
cin>>n;
dp[1]=1,dp[2]=2;
for(int i=3;i<=n;i++)
dp[i]=dp[i-1]+dp[i-2];
cout<<dp[n]<<endl;
return 0;
}