BZOJ 3398 牡牛和牝牛

时间:2023-06-30 15:08:32

dp.

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 100500
#define mod 5000011
using namespace std;
int n,k,dp[maxn][],sum[maxn];
int main()
{
scanf("%d%d",&n,&k);
dp[][]=dp[][]=;sum[]=;
for (int i=;i<=n;i++)
{
if (i>k+) dp[i][]=sum[i-k-]+;
else dp[i][]=;
sum[i]=(sum[i-]+dp[i][])%mod;
dp[i][]=(dp[i-][]+dp[i-][])%mod;
}
printf("%d\n",(dp[n][]+dp[n][])%mod);
return ;
}