思路:
dp[n]=dp[n-1]+dp[n-2]+dp[n-3]+...+dp[n-k]
代码:
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
long long dp[N];
int main()
{
int n, k;
cin >> n >> k;
dp[0] = 1;
dp[1] = 1;
for (int i = 2; i <= n; i++)
{
for (int j = 1; j <= min(i, k); j++)
{
dp[i] = (dp[i] + dp[i - j]) % 114584;
}
}
cout << dp[n] << endl;
return 0;
}