题意
给一个$2*N$的矩阵,可以从任意一个格子刷起,但只能移动到和它相邻的格子(可以对角),求总的方案数,对$1e9+7$取模。
题解
设a[n]为起点为某一角落长度为n终点任意的情况数,b[n]为起点为某一角落长度为n终点必须同列的情况数。
- $b[i]=2^{i-1}$
- 当起点在四个角落,以左上角为例
- 情况一,先向下移动,再向右移动某个位置,情况数相当于 做长度为i-1的终点任意的情况数*2 因为不需要在回到第一列,而且到第二列的时候可能是第一行或者第二行,即$a[i-1]*2$
- 情况二,从起点出发最终回到第一列的第二行,那么情况数就是b[i]。
- 先进入第二列,然后返回第一列另一个位置,然后再回第二列,即$22a[i-2]$
- 当起点在中间
- 情况一,向左运动后回到第i列然后向右运动
- 情况二,向右运动后回到第i列然后向左运动
- $a[1]=1,a[2]=6$
代码
1 |
|