![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最大流
EnjoyingAC
bugger,写bug爱好者。
展开
-
POJ2112 Optimal Milking (网络流dinic算法、二分法、Floyed算法)
Optimal MilkingTime Limit: 2000MS Memory Limit: 30000K Total Submissions: 18898 Accepted: 6757 Case Time Limit: 1000MSDescriptionFJ has moved his K (1 <= K <= 30) milking m...原创 2018-03-06 16:05:52 · 164 阅读 · 0 评论 -
HDU 3879 Base Station (最大权闭合子图)
题意现有n个基站待建。建立一个基站需要付出某个特定的代价。建好的基站之间可以相互通信。有m个工程项目,完成某个工程需要基站a与b可以相互通信,完成后获得报酬c。求最大可以获得的报酬。解题完成项目的先导条件是修建基站a,b。即所选子图的出边所指的点依然在子图中。符合闭合图定义。故此题就是求最大权闭合子图。 将工程项目作为X部,点权值为报酬c。 将基站作为Y部,点权值为修建代价(负权值...原创 2018-07-30 09:23:35 · 173 阅读 · 0 评论 -
HDU 4971 A simple brute force problem(最大权闭合子图)
题意有N个项目需要解决,其中会遇到M个技术问题。 完成每个项目会获得正收益,解决一个技术问题需要付出代价。完成一个项目之前需要先解决与之相关的技术问题。解决一个技术问题x之前,可能需要先解决技术问题y。如果x和y相互依赖,则同时解决。解题将项目看作X部,技术问题看作Y部。 X部与Y部的依赖,则连有向弧(x,y)。 Y部内部yi对yj的依赖(先解决yi,才能解决yj),则连有向弧(...原创 2018-07-29 21:06:22 · 163 阅读 · 0 评论 -
CSU 2114 Open-Pit Mining (最大权闭合子图模板题)
题意一共有块宝石,换取一块宝石会获得价值v,花费代价v。要想获得宝石u必须先获得在u上面的宝石。解题题目描述符合闭合图的定义——图中选一个子图使得子图中点连出边的终点还在子图中。 所以这题就是求最大权闭合子图。 设一个源点S,汇点T。 从S到点权值为正的结点引入一条有向弧,容量为点权值。 从点权值为负的结点到T引入一条有向弧,容量为点权值的绝对值。 原图结点与结点的有向弧保留...原创 2018-07-29 19:48:34 · 210 阅读 · 0 评论 -
UVA10480 Sabotage (Dinic版最小割边集)
读题给定n和m,n表示点的数量,m表示边的数量。 再给m条边(u,v,w)。w表示割点该边的花费。注意是无向图,反向边的容量与正向边一致。将结点1看作源点,结点2看作汇点,求一组最小割边集。解题最小割等于最大流。如果“一条边满流”和“去掉该边后网络的最大流减小的量等于该边的容量”两个条件同时满足,那么该边就是最小割边集的一条边。 故在跑一遍dinic算法后,在残量网络中,将源点S能...原创 2018-06-09 15:08:11 · 599 阅读 · 0 评论 -
求流网络的一组最小割边集
算法说明跑一遍dinic算法求出最大流后。在残量网络中,容量大于0表示可以走。 将从源点出发可以到达的点看作S集,剩下的看作T集。如果边(u,v)满足u属于S集,v属于T集,那么该边就是最小割边集中的边。而确定S集和边集可以通过一次DFS或BFS标记得到。例题UVA-10480 Sabotage AC代码//跑一遍dinic算法后,//在残量网络中,从源点出发能到...原创 2018-06-09 14:58:31 · 1039 阅读 · 0 评论 -
HDU2732 Leapin' Lizards(结点容量模型)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2732读题给定一个n和d。n表示地图的行数,d表示蜥蜴的最大跳跃距离。注意,一次跳跃是进行曼哈顿跳跃,即与当前格子的曼哈顿距离小于等于d的格子蜥蜴都可以一次跳到(一开始读成了只能上、下、左、右跳,发现与样例4不符)。 给定一个n*m的数字矩阵(m未知,需自己求)。表示某个格子最多只能跳出蜥蜴...原创 2018-06-09 11:44:53 · 154 阅读 · 0 评论 -
HDU3605 Escape(缩点+二进制+最大流)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3605读题给定n个人和m个星球。 通过一个n*m矩阵来描述某人是否适合生存在某星球。 通过一行m个数组来标是每个星球的最大容纳量。 求能否满足每个人都被安排到其适合居住的星球。解题人与星球进行匹配,星球有最大容纳量。明显的二分图多重匹配模型。 用匈牙利算法可解。 而用最大流解...原创 2018-06-08 22:32:53 · 152 阅读 · 0 评论 -
HDU4292 Food(结点容量模型+多源多汇模型)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4292读题给定N个人、F种食物、M种饮料以及每种食物数量、每种饮料数量。 通过一个N*F的矩阵给出某个人是否接受某种食物。 再通过一个N*M矩阵给出某个人是否接受某种饮料。 顾客的要求是同时有饮料和食物(即其接受的饮料至少提供一瓶,接受的食物至少提供一份)。 求最多能满足多少位顾客。...原创 2018-06-08 17:14:43 · 230 阅读 · 0 评论 -
HDU4280 Island Transport (无向图Dinic算法+当前弧优化)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4280读题给定一个无向图,求从最左侧的点到最右侧的点的最大流。解题无向图的最大流与有向图的最大流的区别在于反向边的流量不是零而是与正向边相等。注意这点之后,再打一个Dinic算法模板。考虑到数据特别地大,需要进行当前弧优化。即在每一次找增广路前进行:while(bfs()) ...原创 2018-06-08 08:58:05 · 550 阅读 · 1 评论 -
POJ1087 A Plug for UNIX
题目链接http://poj.org/problem?id=1087题目You are in charge of setting up the press room for the inaugural meeting of the United Nations Internet eXecutive (UNIX), which has an international mandate t...原创 2018-06-07 09:06:22 · 123 阅读 · 0 评论 -
POJ3281 Dining (结点容量模型)
题目链接http://poj.org/problem?id=3281题目Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will consume no others.Farmer John has cooked fabulous meals f...原创 2018-06-06 19:28:24 · 176 阅读 · 0 评论 -
网络流建模与模型变换
多源多汇问题问题描述:源有多个,汇也有多个,流可以从任意一个源中流出,最终可以流向任意一个汇。总流量等于所有源流出的总流量,也等于所有汇流入的总流量。建立一个超级源点s’和超级汇点t’。从s‘向每一个源点引一条有向弧,容量为无穷大;从每一个汇点向t’引一条有向弧,容量为无穷大。结点容量问题描述:每个结点都有一个允许通过的最大流量,称为结点容量。把每个结点u分裂成两个结点u1和u...原创 2018-05-02 14:20:37 · 189 阅读 · 0 评论 -
【新疆大学ACM-ICPC程序设计竞赛五月月赛(同步赛)】勤奋的杨老师(二)(最大流的应用)
题目链接勤奋的杨老师(二)题目众所周知,杨老师是一位十分勤奋的老师,他非常的热爱学习。勤奋的他为自己罗列了一个学习清单,共有n个知识点,他可以有选择的进行学习。每个知识点都会对应0个或1个或多个先修知识点(只有学会了先修知识点才能学习该知识点),同时每个知识点都有一个智慧值和一个智力消耗值。杨老师希望在进行过激烈的学习之后,他的收获可以·量化为所有学过的题的智慧值的和与...原创 2018-05-02 11:17:24 · 264 阅读 · 2 评论 -
POJ 2987 Firing (最大权闭合子图)
题意公司需要裁员。有n个员工作为被裁获选人,裁掉第i个人会获得价值w[i].但是裁掉x之前,需要先裁掉x的直属上司y。求裁掉几个人获得价值最大,最大价值是多少。解题根据题意,x与y的依赖关系,所裁掉的人一定是一个闭合子图。即图中出边所指向的点仍然在图中。 所以,这是一个最大权闭合子图问题。 建图跑一遍最大流求出最大权。 然后从源点S进行dfs,dfs能进行的次数就是闭合子图中点的...原创 2018-07-30 19:24:30 · 184 阅读 · 0 评论