Fibonacci数列动态规划的写法:
这是一种动态规划的递归实现(又称记忆化实现),解决大量的重复计算问题。
#include<stdio.h>
#include<algorithm>
using namespace std;
int dp[100];
int Fib(int n)
{
if(n == 0||n==1) return 1;//递归边界
if(dp[n] != -1) return dp[n];//递归式,dp是否记录
dp[n] = Fib(n-1) + Fib(n-2);
return dp[n];
}
int main()
{
fill(dp,dp + 100,-1);
printf("%d\n",Fib(5));
return 0;
}