终于遇到了比较友好的测试
两排格子一看就是动规
令
f
i
,
j
f_{i,j}
fi,j表示已经填充
i
i
i列,并加入了
j
j
j个
1
×
1
1\times 1
1×1的格子的方案数
其中令
f
i
,
1
f_{i,1}
fi,1表示第
i
i
i列单出
1
1
1个的情况
于是我们得到下面的转移方程:
f
i
,
0
=
f
i
−
1
,
0
+
f
i
−
2
,
0
f
i
,
1
=
f
i
−
1
,
0
+
f
i
−
2
,
0
+
f
i
−
2
,
1
f
i
,
2
=
f
i
−
1
,
2
+
f
i
−
2
,
2
+
2
f
i
−
2
,
1
f_{i,0}=f_{i-1,0}+f_{i-2,0}\\ f_{i,1}=f_{i-1,0}+f_{i-2,0}+f_{i-2,1}\\ f_{i,2}=f_{i-1,2}+f_{i-2,2}+2f_{i-2,1}
fi,0=fi−1,0+fi−2,0fi,1=fi−1,0+fi−2,0+fi−2,1fi,2=fi−1,2+fi−2,2+2fi−2,1
注意,
f
i
,
1
f_{i,1}
fi,1中,凸出来的那个格子是
f
i
−
1
,
0
f_{i-1,0}
fi−1,0和
f
i
−
2
,
0
f_{i-2,0}
fi−2,0已经确定了的
然后矩阵乘法就完了
但是试考着考着就说这题做过了,我寻思这题哪里做过啊T-T
刚想出来一道题就做不了了qwq
内心极度崩溃