*2600,会也不会,看题解的。
发现了一个性质:操作二和操作三没甚卵用,然后依然不会。
考虑把矩阵修改变成单点修改,这样会好做 \(\rm inf\) 倍。
考虑把全白 \(\rightarrow\) 当前矩阵转化成当前矩阵 \(\rightarrow\) 全白。
然后,然后就想不下去了,开了题解。
题解的神仙思路:设 \(\verb!B!\) 的值为 \(1\),\(\verb!W!\) 的值为 \(0\),当然你换一换也是一样的。设 \(p_{i,j}\) 等于 \(a_{i,j} \ ⊕ a_{i,j+1} \ ⊕ a_{i+1,j} \ ⊕ a_{i+1,j+1}\),发现把 \(a\) 变成全 \(0\) 相当于把 \(p\) 变成全 \(0\)。
然后就好做了,发现对于一个 \(p_{x,y}\),如果它的四个节点被翻转了偶数次,不会影响它的取值。
所以,一次操作 \(1\) 相当于翻转一个 \(p_{x,y}\),对于操作 \(2\),相当于翻转 \(p_{x-1,y-1},p_{x-1,m},p_{n,y-1},p_{n,m}\)。
不难发现进行 \(\ge 2\) 次操作 \(2\) 必定是不优的,因为可以用六次操作 \(1\) 代替之。
然后就做完了,判一下是否进行了操作 \(4\) 即可。
感觉有点阴间,先 skip。