题目链接:
https://www.luogu.com.cn/problem/P2774
参考博客:
https://www.luogu.com.cn/blog/cicos/solution-p2774#
算法:1:最大流 最小割 Dinic
思路:
1:想象一下,每一个格子只有两种状态,被拿走,和留下,首先我们取所有的格子,然后呢,把其中的一些格子拿去,使留下的格子之间没有互斥的,什么是互斥,就是不可以同时留下的点
2:我们可以发现,所有互斥(题目所说的相邻)奇偶性一定不同,但是奇偶性不同的两个格子不一定互斥,但是可以肯定互斥的节点奇偶性一定不同
3:可以把整张图这样连,把节点按序号分为奇数一类,偶数一类,一类连源点,一类连汇点,权值为格子的值,均为单向边,奇数号格子和偶数号格子之间,如果互斥就相连,一个格子最多有4个互斥的格子,权值为inf,且也均为单向边(整张图均为单向边,存边的时候存的反向边权值均为0)
4:然后就可以割边,割到源点s到汇点t没有流为止,因为,只要还有流可以流到汇点t,就意味着在残图中一定还存在互斥的边,因为,连