动态规划习题,关系式推导和求模技巧
生活随笔
收集整理的這篇文章主要介紹了
动态规划习题,关系式推导和求模技巧
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <stdio.h>
int dp[100001]= {0};
int main()
{
int n,i;
scanf("%d",&n);
int mod=100003;
dp[0]=dp[1]=dp[2]=dp[3]=1;
//dp[i]=dp[i-1]+dp[i-4]+dp[i-7]…
//dp[i-3]=dp[i-4]+dp[i-7]+dp[i-9]…i-3后面有的項和dp[i]是一樣的
//dp[i]=dp[i-1]+dp[i-3]
for(i=4; i<=n; ++i)
dp[i]=(dp[i-1]+dp[i-3])%mod;//先加再mod和先mod再加結果一樣 (a+b)%c=(a&c+b%c)%c 按照遞歸的思想,dp[i-1]和dp[i-3]之前都mod過了,他們求和再mod,等價于整個數組都先求和再mod
printf("%d",dp[n]);
return 0;
}
總結
以上是生活随笔為你收集整理的动态规划习题,关系式推导和求模技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Socket连接外网的思考
- 下一篇: 圆环排列问题