[ABC193F] Zebraness

给你一个 \(n\times n\) 矩阵,每个格子是黑白灰三色之一,要求将灰色的格子变为白色或黑色,最大化不相同的两个相邻格子的数量。

\(1\le n \le 100\)


trick 啊。

首先假如是最小化,有一个典型的最小割转最大流的做法,但是最大化呢?你不能直接 negate 边权,因为流量不能是复数。

我们可以想到将最大化不同转化为最小化相同,但是如何在最小割的模型下刻画"相同"呢?

这个时候炒鸡 trick 就出现了,我们把 \(x+y\) 是奇数的格子反转,这时候发现因为是网格图,所以原来相同的必定不同,于是就做完了。

posted @ 2025-05-02 23:01  CuteNess  阅读(9)  评论(0)    收藏  举报