蓝桥杯2022年第十三届省赛真题-积木画
时间限制: 1 S e c 1Sec 1Sec 内存限制: 256 M B 256MB 256MB
题目描述:
小明最近迷上了积木画,有这么两种类型的积木,分别为 I 型(大小为 2 个单位面积)和 L 型(大小为 3 个单位面积):
同时,小明有一块面积大小为 2 × N 的画布,画布由 2 × N 个 1 × 1 区域构成。小明需要用以上两种积木将画布拼满,他想知道总共有多少种不同的方式? 积木可以任意旋转,且画布的方向固定。
输入
输入一个整数 N,表示画布大小。
输出
输出一个整数表示答案。由于答案可能很大,所以输出其对 1000000007 1000000007 1000000007 取模后的值。
样例输入
3
样例输出
5
提示
五种情况如下图所示,颜色只是为了标识不同的积木:
对于所有测试用例, 1 ≤ N ≤ 10000000 1 ≤ N ≤ 10000000 1≤N≤10000000
思路:
动态规划
d p i , 1 dp_{i,1} dpi,1为长度为 i i i的积木以第一种状态结尾的方案数
d p i , 3 dp_{i,3} dpi,3为长度为 i i i的积木以第二种状态结尾的方案数
d p i , 3 dp_{i,3} dpi,3为长度为 i i i的积木以第三种状态结尾的方案数
状态转移 d p i , 3 dp_{i,3} dpi,3
状态三最后两个都是填满的,那么最后一块有四种可能
最后一块放 I I I
那么对应的就是 d p i − 1 , 3 dp_{i-1,3} dpi−1,3
最后一块放两条横的
对应状态就是 d p i − 2 , 3 dp_{i-2,3} dpi−2,3
最后一块放反 L L L型的
前面需要一个凸出的来接收,对应状态就是 d p i − 1 , 1 dp_{i-1,1} dpi−1,1