ABC379G Count Grid 3-coloring 题解
暴力做法/插头 DP
可过。
考虑 \(H\times W\le 200\),所以 \(\min(H, W)\le 14\),那么可以猜测可行状态数非常少(第一个随便,后面的只有两种可能,\(3\cdot 2^{13} = 24576\)),可以先把可行状态跑出来,不妨假设 \(W\le H\)。、
注意 s 在交换的时候是 s[j][i] = _s[i][j]; 啊啊啊啊啊!!!
再次猜测可行转移也不多,跑一下发现 \(\le9565938\approx 1\cdot 10^7\),而此时 \(h\le 14\),可以跑完。
注意:可行状态和可行转移都可以提前跑出来。
总结:发现可行状态/转移比较少于是直接暴力 DP 转移。
Update:不是,怎么正解是轮廓线 DP 啊。
轮廓线 DP 做法
口胡。
考虑先同样转化为 \(H\ge W\),然后设 \(f_{i, j, s}\) 为前 \(i - 1\) 行的全部和第 \(i\) 行的前 \(j - 1\) 个确定,当前轮廓上的状态为 \(s\) 的方案。
\(s\) 中只用记录 \(W\) 个值(?),而最大可行状态数略多于 \(3\cdot 2^{13}\),可能可以直接枚举下一个是哪个,对于 \(\not= 0\) 的 \(f_{i, j, s}\) 暴力转移。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号