网络流与二分图
文章平均质量分 62
这两种算法的关键都在于模型的构建与转化
wind__whisper
qwq
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
P1791 [国家集训队]人员雇佣(网络流)
网络流原创 2022-04-12 23:40:29 · 268 阅读 · 0 评论 -
P5039 [SHOI2010]最小生成树(网络流)
最小割原创 2022-04-12 22:07:43 · 298 阅读 · 0 评论 -
洛谷P6054:开门大吉
网络流建模练习原创 2022-01-29 17:12:45 · 1733 阅读 · 0 评论 -
洛谷P3357:最长k可重线段集问题(网络流)
网络流24题。对于特殊情况的细节处理原创 2022-01-28 16:36:28 · 898 阅读 · 0 评论 -
网络流模型与技巧总结
网络流相关总结原创 2022-01-26 22:23:38 · 3019 阅读 · 0 评论 -
洛谷P2754:[CTSC1999]家园 / 星际转移问题(网络流)
网络流24题原创 2022-01-25 23:10:22 · 393 阅读 · 0 评论 -
CF1444C Team-Building(可持久化并查集)(二分图)
解析容易想到补集思想,寻找那些组之间不能形成二分图二分图一般的两个判定方法:染色并查集这里考虑并查集(看题解似乎染色也可做)先把所有组内的边合并并查集如果某个组自己内部就有奇环,显然不能和任何点配对,直接删去并减去其贡献对于其他的边,注意到,由于总边数只有5e5级别,所以图会非常稀疏可以使用一些暴力点思路我们sort一下,对于每个集合对(u,v),把其对应的边全部加上,判断完毕之后,再把边删去由于并查集需要撤销,不路径压缩,只按秩合并代码#include<bits/std原创 2021-11-15 16:30:29 · 221 阅读 · 0 评论 -
CF600F:Edge coloring of bipartite graph(二分图、构造)
解析首先大胆猜结论:答案就是最大的点度数考虑如何构造设一个点联通的边的颜色集合为S,由题意得S中的元素不可重假设新加入一条边(u,v)设c1=mex(Su),c2=mex(Sv)c1=mex(S_u),c2=mex(S_v)c1=mex(Su),c2=mex(Sv)如果c1等于c2,直接连就行了否则,把这条边连成c1,看SvS_vSv中是否有c1,也就是是否产生矛盾如果产生矛盾,v有一条连向x的颜色c1的边,就把这条边染成c2,再递归的看SxS_xSx中是否有c2…一种类似于匈牙利原创 2021-11-11 09:27:58 · 268 阅读 · 0 评论 -
YBTOJ&洛谷P1407:稳定婚姻(强连通分量)
文章目录题目描述解析代码题目描述我们已知n对夫妻的婚姻状况,称第 i 对夫妻的男方为 Bi ,女方为 Gi。若某男 Bi 与某女 Gi 曾经交往过( i!=j ),则当某方与其配偶(即 Bi 与 Gi 或 Bj 与 Gj)感情出现问题时,他们有私奔的可能性。不妨设 Bi 和其配偶 Gi 感情不和,于是 Bi 和 Gj 旧情复燃,进而 Bj 因被戴绿帽而感到不爽,联系上了他的初恋情人 一串串的离婚事件像多米诺骨牌一般接踵而至。若在 Bi 和 Gj 离婚的前提下,这 n 个人最终依然能够结合成 n 对原创 2021-09-22 18:27:41 · 291 阅读 · 0 评论 -
YBTOJ&洛谷P4068:数字配对(网络流)
文章目录题目描述解析代码题目描述有n种数字,第 i 种数字是 ai,有 bi个,权值是 ci。若两个数字 ai,aj 满足, ai 是 aj 的倍数,且 ai/aj 是一个质数,那么这两个数字可以配对,并获得 ci*cj 的价值。一个数字只能参与一次配对,可以不参与配对。在获得的价值总和不小于 0 的前提下,求最多进行多少次配对。解析很神奇的题考虑限制条件的转化把每个数字进行质因数分解,设 ai 的质因子个数为 cnti那么ai、aj可以配对的充要条件为1.ai | aj2.cnt原创 2021-09-22 09:39:53 · 354 阅读 · 0 评论 -
YBTOJ:放置棋子(费用流)
文章目录题目描述解析代码题目描述有一个n*n的棋盘,可以在上面放棋子。有些格子不能放棋子,有些格子必须放棋子,剩下的格子随意。要求放好棋子之后满足如下两条要求:第 i 行和第 i 列的棋子数目必须一样多。第 i 行的棋子数目不能超过总的棋子数目的 a/b。求最多可以另外放多少个棋子(除掉必须放的)。如果无解输出 impossible。解析神仙题这谁能想到是网络流啊… qwq考虑正难则反,考虑舍弃哪些棋子对于一个可以放弃的棋子(i,j)(i,j)(i,j),就从 i 连一条向 j原创 2021-09-21 22:30:11 · 305 阅读 · 2 评论 -
YBTOJ&洛谷P2223:软件开发(费用流)
文章目录题目描述解析代码题目描述某软件公司正在规划一项nnn天的软件开发计划,根据开发计划第iii天需要nin_ini个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员每天提供一块消毒毛巾,这种消毒毛巾使用一天后必须再做消毒处理后才能使用。消毒方式有两种,A 种方式的消毒需要aaa天时间,B 种方式的消毒需要bbb天,A 种消毒方式的费用为每块毛巾faf_afa,B 种消毒方式的费用为每块毛巾fbf_bfb,而买一块新毛巾的费用为fff(原创 2021-09-21 18:17:17 · 179 阅读 · 1 评论 -
YBTOJ:炮塔攻击(网络流)
题目描述小明最近在玩一款很好玩的游戏,游戏规则是这样的:有一个n∗mn*mn∗m的地图,地图上的每一个位置要么是空地,要么是炮塔,要么是一些敌人,小明需要操纵炮塔攻击敌人。攻击方法是:对于每个炮塔,游戏系统已经给出它可以瞄准的方向(上、下、左、右其中一个),小明需要选择它的攻击位置,每一个炮塔只能够攻击一个位置,炮塔只能够向着它的瞄准方向上的某个位置发动攻击,当然炮塔也可以不进行攻击。炮塔威力强大,它可以且仅可以消灭目标位置上所有敌人。出于安全考虑,游戏系统已经保证不存在一个炮塔能够瞄准另外一个炮塔原创 2021-09-20 19:39:56 · 438 阅读 · 0 评论 -
YBTOJ:矛盾指数(网络流-最大权闭合图)
文章目录题目描述解析代码网络流要大胆建图题目描述公司内部共nnn个员工,员工之间可能有矛盾。若员工uuu和员工vvv有矛盾,用边(u,v)(u,v)(u,v)表示,共mmm个矛盾。现在公司决定裁员,使得被裁人员间的矛盾指数最高。矛盾指数定义为被裁人员间的矛盾总数与被裁人员数的比值解析感觉很神仙的题一开始自己的思路是暴力枚举裁员人数求最大矛盾,但是如何强制控制裁员人数把我卡住了…(费用流或许能做?)最后还是看了题解qwq关键是建图的方法把每个职员和每条矛盾关系都看作一个点,那么(u,v原创 2021-09-20 17:28:43 · 229 阅读 · 0 评论 -
YBTOJ危桥通行&洛谷P3163:危桥通行(网络流)
文章目录题目描述解析代码题目描述Alice 和 Bob 居住在一个由 NN 座岛屿组成的国家,岛屿被编号为 00 到 N-1N−1。某些岛屿之间有桥相连,桥上的道路是双向的,但一次只能供一人通行。其中一些桥由于年久失修成为危桥,最多只能通行两次。Alice 希望在岛屿 a1和 a2 之间往返 an次(从 a1 到 a2再从 a2 到 a1 算一次往返)。同时,Bob 希望在岛屿 b1和 b2之间往返 bn次。这个过程中,所有危桥最多通行两次,其余的桥可以无限次通行。请问 Alice 和 Bob 能完成原创 2021-09-20 11:33:31 · 159 阅读 · 0 评论 -
YBTOJ:卖猪问题(网络流)
文章目录题目描述数据范围解析代码题目描述尼克在一家养猪场工作,这家养猪场共有MMM间锁起来的猪舍,由于猪舍的钥匙都给了客户,所以尼克没有办法打开这些猪舍。有NNN个客户从早上开始一个接一个来购买生猪,他们到达后首先用手中的钥匙打开他所能打开的全部猪舍,然后从中选取他要买的猪,尼克可以在此期间将打开的猪舍中的猪调整到其它开着的猪舍中,每个猪舍能存放的猪的数量是没有任何限制的。买完猪后客户会将他打开的猪舍关上。好在尼克事先知道每位客户手中有哪些钥匙,要买多少猪,以及客户到来的先后次序。请你写一个程序,帮助原创 2021-09-19 21:44:43 · 548 阅读 · 0 评论 -
网络流优化:-1优化与当前弧优化
所谓网络流优化,就是对网络流算法进行优化(逃)-1优化大概就是如果在一次bfs搜出的图中发现当前这个点啥都增广不出来,就暂时把这个点扣掉当前弧优化在一次bfs搜出的图中,如果某条边已经搜过,就不必再重复搜了注意!使用当前弧优化时,必须写成:int dfs(int x,int lim){ if(x==n||!lim) return lim; int res=0; for(int &i=cur[x];~i;i=p[i].nxt){ int to=p[i].to; if(.原创 2021-09-19 20:05:57 · 526 阅读 · 0 评论 -
YBTOJ&洛谷P3231:消毒(二分图匹配)
文章目录题目描述解析代码题目描述最近在生物实验室工作的小 T 遇到了大麻烦。 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为 a∗b∗ca*b*ca∗b∗c。为了实验的方便,它被划分为 a∗b∗ca*b*ca∗b∗c 个单位立方体区域,每个单位立方体尺寸为 1∗1∗11*1*11∗1∗1,并用 (i,j,k)(i,j,k)(i,j,k) 标识一个单位立方体。这个实验皿已经很久没有人用了。现在,小 T 被导师要求将其中一些单位立方体区域进行消毒操作(每个区域可以被重复消毒)。而由于严格的原创 2021-09-18 17:47:44 · 198 阅读 · 0 评论 -
YBTOJ:伞兵空降(二分图匹配)
文章目录题目描述解析代码题目描述有n个点和m条边的有向无环图,在这张图上的某些点上空投伞兵,使伞兵可以走到图上所有的点。且每个点只能被一个伞兵走一次。问至少需要放多少伞兵。解析考虑一开始给每个点分配一个伞兵,最差就是这样n个伞兵的情况然后就是考虑如何减少伞兵因为不可重,所以每个点只能与一个入度和一个出度合并考虑把每个点割成入点和出点,就变成了二分图最大匹配问题直接匈牙利或网络流即可代码#include<bits/stdc++.h>using namespace std;原创 2021-09-18 15:14:37 · 191 阅读 · 0 评论 -
YBTOJ&洛谷P4298:祭祀(二分图匹配)
文章目录题目描述解析解析题目描述在遥远的东方,有一个神秘的民族,自称Y族。他们世代居住在水面上,奉龙王为神。每逢重大庆典, Y族都会在水面上举办盛大的祭祀活动。我们可以把Y族居住地水系看成一个由岔口和河道组成的网络。每条河道连接着两个岔口,并且水在河道内按照一个固定的方向流动。显然,水系中不会有环流由于人数众多的原因,Y族的祭祀活动会在多个岔口上同时举行。出于对龙王的尊重,这些祭祀地点的选择必须非常慎重。准确地说,Y族人认为,如果水流可以从一个祭祀点流到另外一个祭祀点,那么祭祀就会失去它神圣的意义。族原创 2021-09-18 14:53:04 · 168 阅读 · 0 评论 -
YBTOJ&洛谷P4055:游戏(二分图匹配)
文章目录解析解析代码解析题目描述小 AA 和小 YY 得到了《喜羊羊和灰太狼》的电影票,都很想去观看,但是电影票只有一张,于是他们用智力游戏决定胜负,赢得游戏的人可以获得电影票。在 N \times MN×M 的迷宫中有一个棋子,小 AA 首先任意选择棋子放置的位置。然后,小 YY 和小 AA 轮流将棋子移动到相邻的格子里。游戏的规则规定,在一次游戏中,同一个格子不能进入两次,且不能将棋子移动到某些格子中去。当玩家无法继续移动棋子时,游戏结束,最后一个移动棋子的玩家赢得了游戏。例如下图所示的迷宫,原创 2021-09-18 09:09:10 · 274 阅读 · 0 评论 -
YBTOJ:幻灯片(二分图匹配)
文章目录题目描述数据范围解析解析题目描述有一堆透明的幻灯片堆叠在一起,每个幻灯片上的随机一个位置会有幻灯片的标号。因为幻灯片是透明的,所以堆叠在一起的幻灯片使得这些标号分不清各自对应的幻灯片。现在要求你求出那些能够确定对应关系的幻灯片以及对应的标号。数据范围n<=26n<=26n<=26解析面对这样的数据范围,我还是不够暴力…关键的思路就是暴力枚举每一条边,判断删掉这条边之后是否仍是完美匹配解析#include<bits/stdc++.h>using原创 2021-09-17 20:53:14 · 240 阅读 · 0 评论 -
YBTOJ:消除格子(二分图匹配)
文章目录题目描述解析代码题目描述在一个n*n的矩阵中,有 k个格子中有杂物,现在你有一种能力,一次可以消除一行或一列格子中的杂物,问你至少需要几次可以将这些杂物全部消完。解析看起来像是网络流,结果竟然是二分图。。。本题关键是模型的转化,思路有了后就变成板子了考虑做法:对于每一个点(x,y)(x,y)(x,y),都连一条从x到y的边,最后求最大匹配就是答案为什么是这样?首先,这样连边之后,每个点对应一条边,因此每条边至少要有一个点被选到,因此相当与求这个图的最小点覆盖然后就是两个很妙的原创 2021-09-17 16:11:53 · 373 阅读 · 0 评论 -
模板:网络流(Dinic算法)
文章目录1.网络最大流题目描述解析反悔边分层(避免环流)时间优化代码2.费用流描述解析代码1.网络最大流洛谷P3376题目描述给出一个网络图,以及其源点和汇点,求出其网络最大流。解析网络流的思想就是在原有的基础上不断进行增广基于一个贪心的思路,先bfs判断是否存在增广路,再通过dfs增广反悔边但显然贪心会出错(比如当前终点通过其他点来使用会更优时)所以就引入了反悔边就是与所给边方向相反,一开始容量为0增广使用边时除了把改变的边容量减去流量,再把反向边加上同样的流量即可这样以后在必原创 2021-06-05 23:54:22 · 443 阅读 · 0 评论
分享