我们来看一道最长......子序列的题
这个呢,是题目&代码,地推式的来源,我们以后再说
这是代码
当然,递推式你只需要手动算一下,就可以了,这里给一个例子
数楼梯
一步上一个,也可以一步上两个
所以
下标 方案
0 0
1 1
2 2
3 3
4 5
5 8
... ...
我们就可以发现
不就是斐波那契吗??
所以
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n;
cin >> n;
int dp = [100000+1];
for(int i=0;i<=n;i++){
if(i==0||i==1||i==2)dp[i]=i;
else dp[i]=dp[i-1]+dp[i-2];
}
cout<<dp[n];
}
(出去逛完回来)
6
7