SZ#G6KP20. 【GESP强化 六级】k 树

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11564 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 普及- 上传者: 标签>GESPGESP强化C++c++编程题背包问题完全背包方案计数2星

题目描述

不久之前,一位有创意的学生小珅上了一堂有关树的课程。课堂结束后,小珅受到启发,想出了自己的一种树,这种树他称为 kk-树。

kk-树是一种无限的有根树,具有以下特性:

  • 每个顶点恰好有 kk 个子节点;
  • 每条边都有一个权值;
  • 对于从某个顶点出发连向其各个子节点的 kk 条边,它们的权值分别为 1,2,3,,k1,2,3,\ldots,k

下图展示了 33-树的一部分。

当小珅的好朋友小泽得知这种树后,马上产生了疑问:“从 kk-树的根出发,路径权值之和为 nn,且路径上至少包含一条权值不少于 dd 的边,这样的路径有多少条?”请帮助小泽求出答案。由于方案数可能非常大,请输出对 10000000071000000007109+710^9+7)取模后的结果。

输入格式

一行包含三个用空格分隔的整数 nnkkdd1n,k1001 \leq n, k \leq 1001dk1 \leq d \leq k)。

输出格式

输出一个整数,表示满足条件的路径数对 10000000071000000007 取模的结果。

3 3 2
3
3 3 3
1
4 3 2
6
4 5 2
7