递推配套P1192 and 题解:P1192 台阶问题

George222 Lv3

我们现在考虑递推。

现在的问题是,如何从前几个数据推导出下一个数据。

我们现在先推导

image

的方法就是到能一步到 的台阶的方法总和,所以我们可以推导出:

即为:

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>
using namespace std;
int n, k, a[100005];
int main()
{
cin >> n >> k;
a[0] = 1;
a[1] = 1;
for (int i = 2; i <= n; i++)
{
for (int j = i - 1; j >= 0 && j >= i - k; j--)
a[i] += a[j], a[i] %= 100003;
}
cout << a[n] << endl;
return 0;
}
  • 标题: 递推配套P1192 and 题解:P1192 台阶问题
  • 作者: George222
  • 创建于 : 2024-08-28 11:33:11
  • 更新于 : 2024-09-07 19:27:28
  • 链接: https://george110915.github.io/递推配套P1192 and 题解:P1192 台阶问题/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
此页目录
递推配套P1192 and 题解:P1192 台阶问题