FoxAndGo3

作者:寇煜杭

关键字:最小割 网络流

题目简述

给你一个的网格。每个格子只会存在这三种(黑块),(白块),(空格).现在你要向空格上放黑块,对于任意一个白块上下左右如果全是黑块,那么这个白块就会变成空格。现在求空格最大能达到多少个?(保证没有任意两个白块相邻,任意白块上下左右必有一个空格,).

解题思路

可以发现这是一道最小割问题。将空格和白块看做点并进行标号。把每一个空格向它上下左右的白块建一条容量为的边,由一个超级源向所有空格连一条容量为的边,所有的白块向超级汇连一条容量为的边。跑一遍网络流,最终答案为空格和白块的数量总和减去最大流量。

时间复杂度.(最大为).

results matching ""

    No results matching ""