2018年2月6日训练日记

本文分享了作者在解决网络流专题题目过程中的思考与实践,包括拆点最小割的应用、最大点独立集转换思路及最小割边数计算技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天主要的还是做网络流专题里的题目。。。

读了I题后突然发现就是个很简单的拆点最小割。。。刚开始没注意无向图,样例死活过不了,后来知道了以后又想直接在加边的的时候把反向边容量改了,还是过不了样例。。。最后老老实实一条一条边的加,终于过了。。。(记住教训)

P题方格取数,之前在博客里看过 (不然都想不到是网络流),就是按照(x+y)的奇偶性把格子分成两部分,一边用s连接,权值为该点的值,并且把这边每个点和与之相邻的格子建立一条容量为INF的边,另一边连t,权值为该点的值。问题就变成了求最大点独立集,最大点独立集=sum-最小点覆盖集,最小点覆盖集=最小割,即割掉权值和最小的边,使得从源点的流量不能到达汇点 ,等价于求源点到汇点的最大流。因此所有格子的值总和减去最大流的结果就是答案。

Q题求最小割的最少割边数量。这里需要注意:先跑一遍最大流,然后把满流的边权值设为1,其余边权值设为INF,再跑一遍最大流就是答案。注意只是原图中的边,不包括添加的反向边。

其他题还在努力做。。。

L题想了老半天,然后样例过不了,交上去还tle。。。迷,明天继续想

认识了一个大佬,加油。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值