最大流
seeeagull
这个作者很懒,什么都没留下…
展开
-
[P2494][SDOI2011]保密(整体二分+拓扑排序+最大流)
这道题其实分为两步:1.求出从点n到点1~n1的最短距离,也就是ΣSi/ΣTi(i为路径上的点)的最小值。 2.求出能到达所有空腔的距离之和的最小值。 我们逐个来考虑。对于第一步,我们可以看到每个点的答案都在0.1到10.0的范围内,考虑整体二分。(然后发现蒟蒻不会整体二分,赶快临时学习一下…)如果某个点的最短距离小于等于当前尝试的解,即有ΣSi/ΣTi<=x,整理后即为ΣSi-ΣTi*x<=0。所以我们每次把边权设为s-t*x,求从n点出发到1~n1点的最短路。注意到题中保证没有环,所..原创 2020-08-23 17:42:52 · 239 阅读 · 0 评论 -
[洛谷P2764] 最小路径覆盖问题(最大流)
https://www.luogu.org/problemnew/show/P2764先假设每个点都在一条长度为0的路径上,然后看那些路径可以合并为一条。所以求最小路径覆盖,就是求最大的合并数量。把每个点拆成两个,对于边(i,j)就从i左侧点向j右侧点连容量为1的边,表示i为结尾的路径可以和j为开头的路径合并。在从源点向所有左侧点建容量为1的边,从所有右侧点向汇点建容量为1的边。跑最大流,最小...原创 2019-01-22 16:28:54 · 202 阅读 · 0 评论 -
[洛谷P2765] 魔术球问题(最大流)
https://www.luogu.org/problemnew/show/P2765把每个球拆成两个点,源点和左侧连,右侧和汇点连,并将左侧和比这个点小的且和这个点的和为完全平方数的点的右侧连,这就是每个点需要建立的关系。我们从第一个点开始,每次将一个点加进图中,建立如上关系,跑最大流。如果有新流即是该点可以放在现有的柱子上,反之则是需要添加柱子,当需要添加第n+1个柱子时就不再加点了。在跑...原创 2019-01-22 13:45:26 · 170 阅读 · 0 评论 -
[洛谷P2763] 试题库问题(最大流)
https://www.luogu.org/problemnew/show/P2763典型最大流问题。建立源点,向每个题连容量为1的边;从每道题向其所属分类连容量为1的边;建立汇点,从每个分类向其连容量为该分类所要求的题数的边。跑最大流看是否等于总题数,若小于则无解。有解的话从源点搜索一边,容量为0的边就是用过的,记录一下用过的题和其属于的分类,然后按顺序输出就好了。输出时即使一个分类下题数为...原创 2019-01-21 23:46:59 · 720 阅读 · 0 评论 -
[洛谷P2604] [ZJOI2010]网络扩容(最大流+费用流)
https://www.luogu.org/problemnew/show/P2604先直接跑一边最大流,为了第二问令每条边的费用为0。然后继续用残量网络,在原先有边的点之间再建一条容量为inf,费用为原边扩容费用的边。因为残量网络中的边费用为0,所以会优先走残量网络的。为了保证将·容量扩大k,我们再建一个新汇点,从原汇点向新汇点连容量为k费用为0的边。然后跑费用流就可以了。#inc...原创 2019-01-21 22:04:43 · 168 阅读 · 0 评论 -
[P2774] 方格取数问题(最大流)
将所有点以横纵坐标和为奇数或偶数分成两部分,建立二分图,把相邻的点都连边,左右两边分别与源点和汇点相连。因为不能取相邻的点,所以要去掉一些边使剩余的图不含s到t的路径。又要留下的点权和最大,所以需要去掉的点权和最小,所以是求最小割。因为最小割=最大流,所以让每个点和源点或汇点的边容量为点权,点和点之间的边容量为inf,求最大流,再用所有点权和减最大流即可。#include<cstdio...原创 2019-01-22 14:02:55 · 276 阅读 · 0 评论