CF1152F2.Neko Rules the Catniverse (Large Version)

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

This problem is same as the previous one, but has larger constraints.

Aki is playing a new video game. In the video game, he will control Neko, the giant cat, to fly between planets in the Catniverse.

There are nn planets in the Catniverse, numbered from 11 to nn . At the beginning of the game, Aki chooses the planet where Neko is initially located. Then Aki performs k1k - 1 moves, where in each move Neko is moved from the current planet xx to some other planet yy such that:

  • Planet yy is not visited yet.
  • 1yx+m1 \leq y \leq x + m (where mm is a fixed constant given in the input)

This way, Neko will visit exactly kk different planets. Two ways of visiting planets are called different if there is some index ii such that, the ii -th planet visited in the first way is different from the ii -th planet visited in the second way.

What is the total number of ways to visit kk planets this way? Since the answer can be quite large, print it modulo 109+710^9 + 7 .

输入格式

The only line contains three integers nn , kk and mm ( 1n1091 \le n \le 10^9 , 1kmin(n,12)1 \le k \le \min(n, 12) , 1m41 \le m \le 4 ) — the number of planets in the Catniverse, the number of planets Neko needs to visit and the said constant mm .

输出格式

Print exactly one integer — the number of different ways Neko can visit exactly kk planets. Since the answer can be quite large, print it modulo 109+710^9 + 7 .

输入输出样例

  • 输入#1

    3 3 1
    

    输出#1

    4
    
  • 输入#2

    4 2 1
    

    输出#2

    9
    
  • 输入#3

    5 5 4
    

    输出#3

    120
    
  • 输入#4

    100 1 2
    

    输出#4

    100
    

说明/提示

In the first example, there are 44 ways Neko can visit all the planets:

  • 1231 \rightarrow 2 \rightarrow 3
  • 2312 \rightarrow 3 \rightarrow 1
  • 3123 \rightarrow 1 \rightarrow 2
  • 3213 \rightarrow 2 \rightarrow 1

In the second example, there are 99 ways Neko can visit exactly 22 planets:

  • 121 \rightarrow 2
  • 212 \rightarrow 1
  • 232 \rightarrow 3
  • 313 \rightarrow 1
  • 323 \rightarrow 2
  • 343 \rightarrow 4
  • 414 \rightarrow 1
  • 424 \rightarrow 2
  • 434 \rightarrow 3

In the third example, with m=4m = 4 , Neko can visit all the planets in any order, so there are 5!=1205! = 120 ways Neko can visit all the planets.

In the fourth example, Neko only visit exactly 11 planet (which is also the planet he initially located), and there are 100100 ways to choose the starting planet for Neko.

首页