dp[i]=dp[i-1]+2*dp[i-2]
#include"stdio.h"
int main()
{
__int64 dp[1005];
int i;
int n;
dp[1]=0;
dp[2]=2;
for(i=3;i<=1000;i++)
{
dp[i]=dp[i-1]+2*dp[i-2];
dp[i]%=10000;
}
while(scanf("%d",&n)!=EOF&&n!=0)
printf("%I64d\n",dp[n]);
return 0;
}
本文通过一个具体的动态规划问题实例介绍了如何使用递推公式 dp[i]=dp[i-1]+2*dp[i-2] 来解决问题。该递推公式应用于一个数列的计算中,其中初始条件为 dp[1]=0 和 dp[2]=2,并通过循环计算出数列的前1000项,每一步结果取模10000以防止溢出。
1310

被折叠的 条评论
为什么被折叠?



