CF D Bicolorings
题意
给一个2行n列的矩阵填上黑色和白色,求连通块个数为k个的填色方案数量(mod 998244353)
因为只有两行,为n-1列的矩阵增加1列的情况数只有很少,容易想到用 (i,k) 表示 i 列有 k个连通块的矩阵, 但是它在向 i+1 列的矩阵转移时,需要知道最后一列的状态,所以可以用 0, 1, 2, 3表示最后一列为 00, 01, 10,11状态就增加一维变成 (i,k,s),然后就是分析递推关系:
(i,k,0) 的矩阵,可以由i−1 列的矩阵添加一列 00 得到,当它的结尾为 00, 01, 10, 11时,分别会让连通块个数:不变,不变,不变,+1,所以 (i,k,0)由 (i−1,k,0), (i−1,k,1), (i−1,k,2),