随笔分类 -  最大流

摘要:n为节点数量,m为边数量 EK算法复杂度:O(n*m^2) dinic算法复杂度:O(n^2*m) EK算法思想就是先用bfs找到一条增广路(从源点到汇点有流量的路),然后用pre数组记录这条路径上每一个节点的上一个节点。之后利用pre数组完成对这条路上所有边流量的消减,以及增加答案。看代码就清楚了 阅读全文
posted @ 2021-03-27 11:18 kongbursi 阅读(421) 评论(0) 推荐(0) 编辑
摘要:题意: 输入一个n,后面输入n行,每一行两个数a、b。你可以对a、b进行三种操作:+、-、* 你需要保证对每一行a、b选取一个操作得到一个结果 你要保证这n行每一个式子选取的操作之后得到的结果都不一样。如果找不到就输出impossible Sample Input 1 1 4 1 5 3 3 4 5 阅读全文
posted @ 2020-11-07 10:56 kongbursi 阅读(68) 评论(0) 推荐(0) 编辑
摘要:第一道题是模板题,下面主要是两种模板,但都用的是Dinic算法(第二个题也是) 第一题: 题意就不需要讲了,直接上代码: vector代码: 1 //invalid types 'int[int]' for array subscript :字母重复定义 2 #include<stdio.h> 3 阅读全文
posted @ 2019-11-16 20:54 kongbursi 阅读(134) 评论(0) 推荐(0) 编辑
摘要:原文博客:https://blog.csdn.net/stevensonson/article/details/79177530 网络流图是一张只有一个源点和汇点的有向图,而最大流就是求源点到汇点间的最大水流量,下图的问题就是一个最基本,经典的最大流问题 二.流量,容量和可行流 对于弧(u,v)来说 阅读全文
posted @ 2019-11-11 20:53 kongbursi 阅读(962) 评论(0) 推荐(0) 编辑
摘要:第一行是三个数字:N,M,K 分别表示有N个商店,M个供货商,K中货物 接下来是N行,每行K个整数 对于第i行第j列,表示的是第i个商店对于货物j的需求 再接着,M行,每行K个整数 对于第i行第j列,表示的是第i个供货商对于货物j的存货 接下来有K个N*M的矩形 第X个矩形的第i行第j列表示的是 从 阅读全文
posted @ 2019-11-11 20:28 kongbursi 阅读(117) 评论(0) 推荐(0) 编辑
摘要:题意: 有一群恐怖分子要从起点st到en城市集合,你要在路程中的城市阻止他们,使得他们全部都被抓到(当然st城市,en城市也可以抓捕)。在每一个城市抓捕都有一个花费,你要找到花费最少是多少。 题解: 1 //首先这一道题我原本是想这用bfs来做,因为这就相当于一棵树,你就只需要找出来怎么把它截断就可 阅读全文
posted @ 2019-11-11 20:18 kongbursi 阅读(153) 评论(0) 推荐(0) 编辑
摘要:题目 题意: 编写一个程序,给定一个网络规范和破坏每个连接的成本,确定要切断哪个连接,以便将首都和最大的城市分离到尽可能低的成本。 分割 这道题的意思要把一个图分成两部分,要把点1和点2分开。隔断每条边都有一个花费,求最小花费的情况下,应该切断那些边。这题很明显是最小割,也就是最大流。把1当成源点, 阅读全文
posted @ 2019-11-11 20:04 kongbursi 阅读(145) 评论(0) 推荐(0) 编辑
摘要:题意: 如果这是2012年世界末日怎么办?我不知道该怎么做。但是现在科学家们已经发现,有些星球上的人可以生存,但有些人却不适合居住。现在科学家们需要你的帮助,就是确定所有人都能在这些行星上生活。输入多组测试数据,每组数据的开头是n (1 <= n <= 100000), m (1 <= m <= 1 阅读全文
posted @ 2019-11-11 19:51 kongbursi 阅读(107) 评论(0) 推荐(0) 编辑
摘要:/*题意: 有 n 个城市,知道了起点和终点,有 m 条有向边,问从起点到终点的最短路一共有多少条。这是一个有向图,建边的时候要注意!!解题思路:这题的关键就是找到哪些边可以构成最短路,其实之前做最短路的题目接触过很多,反向建一个图,求两边最短路,即从src到任一点的最短路dis1[]和从des到任 阅读全文
posted @ 2019-11-11 19:48 kongbursi 阅读(167) 评论(0) 推荐(0) 编辑
摘要:二分+最大流: 1 //题目大意:有编号为1~n的女生和1~n的男生配对 2 // 3 //首先输入m组,a,b表示编号为a的女生没有和编号为b的男生吵过架 4 // 5 //然后输入f组,c,d表示编号为c的女生和编号为d的女生是朋友 6 // 7 //进行配对的要求满足其一即可。 8 //1.a 阅读全文
posted @ 2019-11-06 16:16 kongbursi 阅读(160) 评论(0) 推荐(0) 编辑
摘要:这就是一道最小费用最大流问题 最大流就体现到每一个‘m’都能找到一个‘H’,但是要在这个基础上面加一个费用,按照题意费用就是(横坐标之差的绝对值加上纵坐标之差的绝对值) 然后最小费用最大流模板就是再用最短路算法找最小费用路径。然后在找到这条路径上面的最大流。。就这样一直找下去 代码: 1 //这是一 阅读全文
posted @ 2019-11-02 15:11 kongbursi 阅读(168) 评论(0) 推荐(0) 编辑
摘要:在会议开始之前,你收集所有记者想要使用的设备,并尝试设置它们。你注意到有些设备使用没有插座的插头。你想知道这些设备是否来自建造这个房间时并不存在的国家。对于一些插座,有几个设备使用相应的插头。对于其他插座,没有使用相应插头的设备。 为了解决这个问题,你可以去附近的零件供应商店。该商店出售的适配器允许 阅读全文
posted @ 2019-11-02 14:49 kongbursi 阅读(178) 评论(0) 推荐(0) 编辑
摘要:牛是很挑食的。每头牛都偏爱特定的食物和饮料,其他的就不吃了。 农夫约翰为他的牛做了美味的饭菜,但他忘了根据它们的喜好检查菜单。虽然他不可能喂饱所有的人,但他想让尽可能多的奶牛吃上一顿有食物和水的大餐。 农民John煮了F(1≤F≤100)种食物,准备了D(1≤D≤100)种饮料。他的每头牛(1≤N≤ 阅读全文
posted @ 2019-11-02 14:25 kongbursi 阅读(209) 评论(0) 推荐(0) 编辑
摘要:题目 题意: 每一个机器有一个物品最大工作数量,还有一个对什么物品进行加工,加工后的物品是什么样。给你无限多个初始都是000....的机器,你需要找出来经过这些机器操作后最多有多少成功的机器(111.....) 题解: st是网络流起始点,en是终止点 首先肯定是要拆点的,因为题目上给出的是每一个机 阅读全文
posted @ 2019-11-02 13:54 kongbursi 阅读(135) 评论(0) 推荐(0) 编辑
摘要:题目 题意: t组输入,然后地图有n行m列,且n,m<=20.有一个最大跳跃距离d。后面输入一个n行的地图,每一个位置有一个值,代表这个位置的柱子可以经过多少个猴子。之后再输入一个地图'L'代表这个位置刚开始有一个猴子.'.'代表这个位置刚开始没有猴子 题解: 阅读全文
posted @ 2019-11-02 13:33 kongbursi 阅读(106) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示