AT_gw2015_e.シフト塗り分け

通过率:0%

AC君温馨提醒

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

题目描述

现在有 NN 个球并排排成一列。用 KK 种不同的颜色为这些球着色(共有 KNK^N 种不同的绘画方式)。只是对于两个绘画方式,如果多次的对其中的连续的 LL 个球进行 shift 操作后相同,那么我们就认为它们是是相同的。现在问你对于给定的 N,M,KN , M , K 有几种不同的绘画方式。

对于球 ii ,, 球 i+1i+1 ,, ...... 球 i+L−1i+L-1 这任意连续 LL 个球,一次 shift 操作后就变为 球 i+L−1i+L-1 ,, 球 ii ,, 球 i+1i+1 ,, ...... 球 i+L−2i+L-2。(译者注:一次 shift 操作就是选定连续的LL个球然后把选定的球中最后的那个球放到最前面,其他球依次往后移动一位)

输入格式

输入来自标准输入,格式如下:

 $ N $   $ K $   $ L $ 

输入共一行,第一行依次给出三个整数 N(2≤N≤106),K(1≤K≤106),L(2≤L≤N)N ( 2 \leq N \leq 10^6), K (1 \leq K \leq 10^6), L (2 \leq L \leq N)

输出格式

输出共一行,你需要输出总方法数对于 109+710^9+7 取模后的值。输出末尾需要换行。

输入输出样例

  • 输入#1

    3 3 3

    输出#1

    11
  • 输入#2

    3 3 2

    输出#2

    10

说明/提示

样例 1

在这个样例中,有以下 1111 种不同的绘画方式。- 1,1,11,1,1 - 1,1,21,1,2 - 1,1,31,1,3 - 1,2,21,2,2 - 1,2,31,2,3 - 1,3,21,3,2 - 1,3,31,3,3 - 2,2,22,2,2 - 2,2,32,2,3 - 2,3,32,3,3 - 3,3,33,3,3

样例 2

在这个样例中,有以下 1010 种不同的绘画方式。- 1,1,11,1,1 - 1,1,21,1,2 - 1,1,31,1,3 - 1,2,21,2,2 - 1,2,31,2,3 - 1,3,31,3,3 - 2,2,22,2,2 - 2,2,32,2,3 - 2,3,32,3,3 - 3,3,33,3,3

输入解题思路,AI测评打分。不知道怎么写?

首页