1 条题解

  • 0
    @ 2025-8-24 22:52:39

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar liangbowen
    不能再摆了,,,

    搬运于2025-08-24 22:52:39,当前版本为作者最后更新于2023-12-01 21:40:01,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    update 2024/6/17:修改了一处笔误。

    blog。找网络流水题写题解 /hsh。


    间隔染色(i+ji+j 分奇偶染不同色)后,所有 i+ji+j 为奇数的格子反色,题目的 Pattern 等价于是 2×22\times2 的全黑或全白格子。

    然后很自然地想 Flow 了。每个点分黑白两种状态。

    • 如果 (x,y)(x,y) 对应的 Pattern 有机会染成全黑,就连边 S1Black(x,y)S\xrightarrow{1} \operatorname{Black}(x,y)。流这条边表示 (x,y)(x,y) 染成全黑。
    • 如果 (x,y)(x,y) 对应的 Pattern 有机会染成全白,就连边 White(x,y)1T\operatorname{White}(x,y)\xrightarrow{1} T。流这条边表示 (x,y)(x,y) 染成全白。
    • 将所有相邻的 $\operatorname{Black}(x,y)\xrightarrow{+\infty}\operatorname{White}(x_0,y_0)$。限制不能同时将一个点染成黑色与白色。

    这个本质是二者选一式问题,所以答案是总数减去最小割。

    求方案的话,先 DFS 求出那些边是没有被割掉的,然后直接覆盖上全黑 / 全白即可。输出记得把格子重新反色回去。

    code,时间复杂度 O(能过)O(\text{能过}),反正 10.00s 随便冲。

    • 1

    信息

    ID
    9389
    时间
    10000ms
    内存
    1024MiB
    难度
    6
    标签
    递交数
    0
    已通过
    0
    上传者