CF1051D

(f_{i,j,c,d}) 表示到第 (i) 列有 (j) 个联通块,且这一列上面颜色为 (c),下面颜色为 (d) 的方案数 ((c,din{0,1},jle i imes 2))

然后考虑这个状态可以从什么转移而来。

显然有:

[f_{i,j,1,1}=f_{i-1,j,1,0}+f_{i-1,j,0,1}+f_{i-1,j,1,1}+f_{i-1,j-1,0,0} ]

[f_{i,j,0,0}=f_{i-1,j,0,1}+f_{i-1,j,1,0}+f_{i-1,j,0,0}+f_{i-1,j-1,1,1} ]

[f_{i,j,1,0}=f_{i-1,j,1,0}+f_{i-1,j-1,1,1}+f_{i-1,j-1,0,0}+f_{i-1,j-2,0,1} ]

[f_{i,j,0,1}=f_{i-1,j,0,1}+f_{i-1,j-1,0,0}+f_{i-1,j-1,1,1}+f_{i-1,j-2,1,0} ]

这些转移状态。

处理出 (f_{1,1,0,0}=f_{1,1,1,1}=f_{1,2,0,1}=f_{1,2,1,0}=1) 然后转移即可。

转移时注意边界。

原文地址:https://www.cnblogs.com/KnightL/p/15480906.html