CF1152F2 Neko Rules the Catniverse (Large Version)

题目描述

本题与前一题相同,但数据范围更大。 Aki 正在玩一款新的视频游戏。在游戏中,他将操控巨猫 Neko 在 Catniverse 的各个星球之间飞行。 Catniverse 中共有 $n$ 个星球,编号从 $1$ 到 $n$。游戏开始时,Aki 选择 Neko 的初始所在星球。然后,Aki 进行 $k-1$ 次移动,每次移动将 Neko 从当前星球 $x$ 移动到另一个星球 $y$,满足: - 星球 $y$ 尚未被访问过。 - $1 \leq y \leq x + m$(其中 $m$ 是输入中给定的一个固定常数)。 这样,Neko 将恰好访问 $k$ 个不同的星球。如果存在某个下标 $i$,使得第一种访问方式的第 $i$ 个访问星球与第二种方式的第 $i$ 个访问星球不同,则认为两种访问方式不同。 问 Neko 以这种方式访问恰好 $k$ 个星球的不同方案数是多少?由于答案可能很大,请输出答案对 $10^9 + 7$ 取模后的结果。

输入格式

一行,包含三个整数 $n$、$k$ 和 $m$($1 \le n \le 10^9$,$1 \le k \le \min(n, 12)$,$1 \le m \le 4$)——Catniverse 中的星球数量、Neko 需要访问的星球数量以及给定的常数 $m$。

输出格式

输出一个整数,表示 Neko 访问恰好 $k$ 个星球的不同方案数。由于答案可能很大,请输出答案对 $10^9 + 7$ 取模后的结果。

说明/提示

在第一个样例中,Neko 有 $4$ 种方式访问所有星球: - $1 \rightarrow 2 \rightarrow 3$ - $2 \rightarrow 3 \rightarrow 1$ - $3 \rightarrow 1 \rightarrow 2$ - $3 \rightarrow 2 \rightarrow 1$ 在第二个样例中,Neko 有 $9$ 种方式访问恰好 $2$ 个星球: - $1 \rightarrow 2$ - $2 \rightarrow 1$ - $2 \rightarrow 3$ - $3 \rightarrow 1$ - $3 \rightarrow 2$ - $3 \rightarrow 4$ - $4 \rightarrow 1$ - $4 \rightarrow 2$ - $4 \rightarrow 3$ 在第三个样例中,$m = 4$,Neko 可以以任意顺序访问所有星球,因此共有 $5! = 120$ 种方式。 在第四个样例中,Neko 只访问恰好 $1$ 个星球(即初始所在星球),共有 $100$ 种选择起始星球的方式。 由 ChatGPT 4.1 翻译