遞推 洛谷 P1192 台階問題

2021-08-15 17:53:28 字數 1055 閱讀 4869

題目描述有n

級的台階,你一開始在底部,每次可以向上邁最多

k級台階(最少

1級),問到達第

n級台階有多少種不同方式。

輸入輸出格式

輸入格式:

輸入檔案的僅包含兩個正整數n,

k。輸出格式:

輸入檔案

stair.out

僅包括1

個正整數,為不同方式數,由於答案可能很大,你需要輸出

mod 100003

後的結果。

輸入輸出樣例

輸入樣例

#1:

複製5 2

輸出樣例

#1:複製8

說明

對於20%

的資料,

有n ≤ 10, k ≤ 3;

對於40%

的資料,有

n ≤ 1000;

對於100%

的資料,有

n ≤ 100000

,k ≤ 100

題目分析:

遞推很經典的題目(但我感覺仍然是動態規劃),我們設

f[i]為到i

的路的種類,則我們只能由

f[i-k],f[i-k+1]…….f[i-1]

到達,k

為步數。

所以得到遞推式:

f[i]+=f[i-j](i-j>0,1<=j<=k)

邊界條件:

f[0]=1

實現**:

#include using namespace std;

int n,i,m,j;

int f[100005];

int main()

cout

}

洛谷 P1192 台階問題

題目描述 有n級的台階,你一開始在底部,每次可以向上邁最多k級台階 最少1級 問到達第n級台階有多少種不同方式。輸入輸出格式 輸入格式 輸入檔案的僅包含兩個正整數n,k。輸出格式 輸入檔案stair.out僅包括1個正整數,為不同方式數,由於答案可能很大,你需要輸出mod 100003後的結果。輸入...

洛谷 P1192 台階問題

有 n n 級的台階,你一開始在底部,每次可以向上邁最多 k k 級台階 最少 1 1 級 問到達第 n n 級台階有多少種不同方式。輸入格式 兩個正整數n,k。輸出格式 乙個正整數,為不同方式數,由於答案可能很大,你需要輸出 ans bmod 100003an smod10 0003 後的結果。輸...

洛谷P1192 台階問題

設a i 為走到第i階的方法數 假設最多可以走k步,對任意x x k 容易知道 1.a x a x 1 a x 2 a x k 2.a x 1 a x a x 1 a x 2 a x 1 k 2 a x a x k 所以我們只需要先求出a 1 a k 然後剩下的a k 1 a n 就可以直接通過上面...