D - 2x2 Erasing 2 Editorial by kyopro_friends


黒いマスが4つ集まっている頂点に印をつけることを考えます。この印はあるマスを白く塗るとそのマスの4頂点から除かれます。これによりもとの問題は「\((H-1)\times(W-1)\) のグリッドが与えられ、いくつかのマスに印がついているので、\(2\times 2\) のタイルで印のあるマスを全て覆うには最小何個のタイルが必要か?(タイルは重ねてもよい)」という問題に読み替えることができます。

図

読み替えたあとの問題は

\(\mathrm{dp}[i][S]=\) \(i\) 行目までの印を全て覆って、\(i+1\) 行目のうち集合 \(S\) に属する列がすでに覆われている状態にするための、タイルの最小枚数

とするbitDPで求めることができます。

posted:
last update: