随笔分类 - 网络流
摘要:每个海面要么放要么不放,因此可以用二分图匹配, 考虑把同一行内的能互相看到的点放到一个行块里,同一列内能看到的点放到一个列块里,然后每一个行块都可以和该行块里所有海面的列块连边,选了这个行块,就必须选且只选择一个该行块里的一个海面对应的列块。 c++ include include include
阅读全文
摘要:"题目" 此题主要是考察二分图匹配,而二分图匹配最主要的就是建图,而图一般都是要分成两个部分来分,比如该题就需要先将在学校住的人和床连在一起,因为在学校住就会与一个床。然后每两个人之间假如他们相互认识就可以相互连边,这样就可以通过人人相连实现人床相连。 Code c++ include incl
阅读全文
摘要:题目 这个题目有多种解法,这个题也是一个比较经典的题了,正是因为他的多样的做法,这个题主要难在建图和优化,因为这是一个网格图,所以spfa肯定过不去,所以用最短路解法的话,只能用dij,而网络流也是要加上几个必不可少的优化,具体在代码中解释: 代码:
阅读全文
摘要:首先我们先明确一下网络流是什么,你可以想象一堆水管,有一个可以无限放水的水厂,和接受水的房间。 水厂和这个房间之间由许多水管连起来,可是每个水管都会有一个宽度。当然如果流过去的水要大于这个宽度,那这个点当然就不能走,那水厂就只能减少水的供应,这样大体就是网络流了。 我们再抽象一点: 所谓网络或容量网
阅读全文