从割的角度求解问题

  • P2774 方格取数问题
  • P3355 骑士共存问题
  • 两道题大体上的建图方式一致,通过横纵坐标和的奇偶性将网格上的点分成两部分,一部分连源点,一部分连汇点;为什么要考虑转化成二分图? 因为两道题的共性在于相互之间可能存在限制的两点的横纵坐标和奇偶性不同,这样对限制关系所连边的两点分别位于二分图的两边,网络流中的“流”又常常可以用来表达限制条件;
  • 考虑方格取数问题:从的角度看,希望从原网格中删掉一些方格使得剩余方格不再存在互斥关系且权值和最大。具体建图方式如下:源点连向坐标和为奇数的点,容量为方格权值,坐标和为偶数的点连向汇点,容量为方格权值,对于每个限制关系,和为奇数的点向和为偶数的点连容量为Inf的边,现在我们已经把互斥关系全部表示在了图中;然后我们试图“砍断”一些边,使得源点到汇点的流量为0——源点到汇点没有可行流等价于没有任何一组互斥关系得到满足(可反证);显然我们要让求得割最小,这样原网格中剩余点的权值才会最大——最大流最小割定理,答案即为原网格中的权值和-最大流。
  • 考虑骑士共存问题:不同位置骑士互斥可以用上面的方法建图,但是多了一个障碍的限制,因此在建图的时候只对除去涉及障碍点以外的互斥关系建图,最够再在答案中将障碍点的数目减掉即可,或者直接将源点连障碍点,障碍点连汇点跑最大流也行。
  • 骑士共存问题代码
  • 方格取数问题代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈希表扁豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值