#B4564. [山东省小学组体验营 2026] 小兔子爬楼梯

[山东省小学组体验营 2026] 小兔子爬楼梯

题目描述

森林学校里有一座 nn 级的台阶,小兔子要跳上去。

它每一次跳跃,可以选择跳 11 级、22 级、……、mm 级(每次跳的级数必须是整数,且在 11 到 mm 之间)。

小兔子体力无限,他想尝试各种跳跃方案(跳完 nn 级台阶的跳跃序列)。

但是,小兔子的老师说:“每一种跳跃方案中,至少要有一次跳的级数不少于 kk(k≤mk\le m)级(称为‘逆天一跳’),才算一种合格的跳跃方案”。

比如:n=7n=7,m=5m=5,k=3k=3,在以下跳跃方案中:

跳跃序列:1,2,2,21,2,2,2 不是合格的跳跃方案;

跳跃序列:1,3,31,3,3 是合格的跳跃方案;

跳跃序列:1,4,21,4,2 与 1,5,11,5,1 都是合格的跳跃方案。

现在,小兔子想知道:一共有多少种不同的合格的跳跃方案,能恰好跳完 nn 级台阶。

注意:跳跃序列顺序不同算不同的跳跃方案。比如 1,1,51,1,5 与 1,5,11,5,1 是两种不同的跳跃方案。

因为合格的跳跃方案可能太多了,答案要对 109+710^9+7 取模。

输入格式

一行三个整数:n,m,kn,m,k。

输出格式

输出一个整数,表示符合条件的合格跳跃方案总数(对 109+710^9+7 取模)。

3 3 2

3
4 3 2
6
10000 100 60
20640995

提示

【样例 11 说明】

合格的跳跃方案有 33 种:2,12,1;1,21,2;33。

【数据范围】

所有数据满足:1≤n≤1000001\le n\le 100000,1≤m≤1001\le m\le 100,1≤k≤m1\le k\le m。

测试点编号 mm kk 特殊性质
1∼31\sim 3 =2=2 =1=1 无
4∼94\sim 9 ≤100\le 100
10∼2010\sim 20 ≤m\le m