题目名称 3015. 花园
输入输出 garden.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2018-10-26加入
开放分组 全部用户
提交状态
分类标签
动态规划 矩阵快速幂 状压DP
分享题解
通过:0, 提交:0, 通过率:0%
关于 花园 的近10条评论(全部评论)

3015. 花园

★★☆   输入文件:garden.in   输出文件:garden.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

小 L 有一座环形花园,沿花园的顺时针方向,他把各个花圃编号为 $1 \sim n$。花圃 $1$ 和 $n$ 是相邻的。

他的环形花园每天都会换一个新花样,但他的花园都不外乎一个规则:任意相邻 $m$ 个花圃中都只有不超过 $k$ 个 C 形的花圃,其余花圃均为 P 形的花圃。

例如,若 $n=10$ , $m=5$ , $k=3$ ,则

CCPCPPPPCC 是一种不符合规则的花圃。

CCPPPPCPCP 是一种符合规则的花圃。

请帮小 L 求出符合规则的花园种数对 $10^9+7$ 取模的结果。

【输入格式】

只有一行三个整数,分别表示 $n, m, k$。

【输出格式】

输出一行一个整数表示答案。

【样例 1 输入】

10 5 3

【样例 1 输出】

458

【样例 2 输入】

6 2 1

【样例 2 输出】

18

【数据规模与约定】

对于 $40\%$ 的数据,保证 $n \le 20$。

对于 $60\%$ 的数据,保证 $m=2$。

对于 $80\%$ 的数据,保证 $n \le 10^5$;

对于 $100\%$ 的数据,保证 $2 \leq n \le 10^{15}$,$2 \leq m \leq \min(n, 5)$,$1 \leq k \lt m$。