网络流
文章平均质量分 68
Faithfully__xly
这个作者很懒,什么都没留下…
展开
-
0815-网络流之最大流-最大权闭合图-太空飞行计划
本来想找一道网络流的基础题练练手,结果一上来就这么恐怖。。。。不玩了[○・`Д´・ ○]。但看了题解后,挣扎了一番,还是搞懂了,下面就蒟蒻浅薄的知识浅浅的谈一谈,应该会很容易看懂传送门知识锦囊在做这道题之前你需要掌握的一些术语,整理如下闭合图:在一个图中,选择一些点作为一个集合,满足这些点的出边的终端依然属于这个集合,就称这个点的集合为一个闭合图举例:如图所示,这个图里的闭合...原创 2018-08-14 22:31:01 · 120 阅读 · 0 评论 -
网络流 - 魔术球问题(luogu 2765)
传送门Analysishttps://www.cnblogs.com/qixingzhi/p/9419319.htmlhttp://hzwer.com/1878.html放两个链接,这两篇题解对比着看理解每个网络流的写法和匹配数的统计方法更深入地理解这道题【有时间再来填坑吧···】Code#include<bits/stdc++.h>#define re reg...原创 2019-08-20 19:37:25 · 99 阅读 · 0 评论 -
最小路径覆盖+路径输出 - 最小路径覆盖SPJ(LOJ 6002)
最小路径覆盖n−最大匹配数n-最大匹配数n−最大匹配数Analysis如果问题只有前面部分,即求最小路径覆盖数,那我们很好操作(具体解析见文章顶部博客链接)而现在还需要输出路径其实也很简单在做完网络流之后,对于每个点,它走向的下一个点,就是在网络流残图中与它相连且流量为0的边所对应的点,这个很好记录,关键是输出如果随便找到一个点就不停沿流量为0 的边走下去,那么这条路径很可能不...原创 2019-08-14 11:40:00 · 235 阅读 · 0 评论 -
网络流 - order(BZOJ 1391)
传送门Analysis建立虚点,向每个工作连一条流量为该工作可以赚的钱数每个工作向其需要的机器连接流量为租金的边每个机器向汇点连接一条流量为购买费用的边然后跑最大流至于为什么这样可以做可以同这道题类比Code#include<bits/stdc++.h>#define in read()#define re registerusing namespace st...原创 2019-08-13 20:39:38 · 79 阅读 · 0 评论 -
混合图判欧拉回路 - Bridges「BZOJ 2095」[POI 2010]
描述YYB为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛。现在YYB想骑单车从小岛1出发,骑过每一座桥,到达每一个小岛,然后回到小岛1。同学为了让YYB减肥成功,召唤了大风,由于是海上,风变得十分大,经过每一座桥都有不可避免的风阻碍YYB,YYB十分ddt,于是用泡芙贿赂了你,希望你能帮他找出一条承受...原创 2018-10-29 14:15:47 · 181 阅读 · 0 评论 -
1011 - 网络流 - football match(WOJ 124)
传送门 分析是一道好题啊首先跟 n 有关的比赛全部让 n 赢。其他相当于是把两分 分配给两个球队,变成一个匹配问题了。不超过 n, 只用限制一下匹配上限,然后看一看能不能分配完就行了 代码#include<bits/stdc++.h>#define ll long long#define in read()#define M 500000#de...原创 2018-10-11 08:22:00 · 201 阅读 · 0 评论 -
1010 - 网络流 - How many shortest path(ZOJ2760)
传送门 分析从 s 点开始做一遍最短路,然后如果一条边满足 dis[i] + w[i][j] = dis[j],我们就连上这条边即可,这样最后到达 t 点肯定是最短路。 为了满足不相交的限制,边的容量设为 1。 本来就只是很简单的一道板子题了,结果耗了我一个多小时????数据范围开太大了(但是居然不是报MLE,报的竟然是Segmentation Fault) 天真的以为输...原创 2018-10-10 21:58:06 · 156 阅读 · 0 评论 -
1010 - 网络流之最大费用流 - Candy(HDU 4322)
传送门 题意现在有 n 颗糖果,要将其分给 m 个小朋友,每个小朋友都有特定的喜好,如果他得到了自己喜欢的糖果,那么他将增加K的欢乐值,否则就只会增加1的欢乐值。当第 i 个小朋友的欢乐值大于等于Bi时,他才是高兴的问是否存在一种分配方案,使得所有小朋友都高兴 分析这这这,要是不讲,我是完全看不出来网络流的啊……怎么那么菜……首先,因为要使所有小朋友...原创 2018-10-10 16:56:15 · 141 阅读 · 0 评论 -
1010 - 网络流 - dining(POJ 3281)
传送门 分析网络流板子很好敲,难就难在建模上不过ldw老师说建模学好后,对图论很有帮助所以,还是要好好干网络流啊这道题建4排点,第一排是食物,第二排和第三排都是牛,第四排是饮料,然后再多个源汇点为什么第二三排都是牛呢?因为要保证每头牛都只被匹配过一次拆点就是一个非常常规的操作了 代码#include<cstdio>#include...原创 2018-10-10 14:44:48 · 112 阅读 · 0 评论 -
1018 - 网络流最大匹配&神建图 - 卡牌配对(BZOJ 4205)
卡牌配对「问题描述」现在有一种卡牌游戏,每张卡牌上有三个属性值:A,B,C。把卡牌分为X,Y两类,分别有n1,n2张。两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值互质,且两张卡牌类别不同。比如一张X类卡牌属性值分别是225,233,101,一张Y类卡牌属性值分别为115,466,99。那么这两张牌是可以配对的,因为只有101和99一组属性互质。游戏的目的...原创 2018-10-18 14:06:39 · 212 阅读 · 0 评论 -
1011 - 网络流 - 祭祀river(BZOJ 1143)
传送门 题意输出最长反链 分析根据某D定理:最长反链 = 最小链覆盖,这道题就分分钟了突然发现这类题,翻来覆去,换了件外套还是同一个板子难点就在于你能不能把外套给别人扒下来,(这么说好像有点粗俗……不过没关系能懂就行)话说原题其实还要求输出一种方案的,但我太菜了……还是先把BZOJ上的交了再说吧 代码对了,不要觉得这个代码眼熟,你没看错,就是上一道题...原创 2018-10-12 07:35:57 · 113 阅读 · 0 评论 -
有关网络流建模的学习笔记
话说网络流这个东西,其题面的特点就是:就算告诉你这道题是网络流,你也不会做(有点皮)所以说,dzyo大佬就给我们总结了一些基本模型,感觉打开了通往新世界的大门…… 最大匹配用网络流来解决最大匹配这类问题首先题目中一般会出现“最多,至多”这类字眼,或者问“是否有一种分配方案满足条件”这个时候你就可以思考一下网络流了考虑一条流就是一种合法方案, 你所需要做的就是确定流量限制...原创 2018-10-11 20:32:55 · 239 阅读 · 1 评论 -
1011 - 最小路径可重复点覆盖 - Treasure Exploration(POJ 2594)
传送门 分析做了几道这样的题,有没有惊奇的发现,题目中一般都会非常明显的告诉你这是一个有向无环图(“And some points are connected by one-way road, which means that, through the road, a robot can only move from one end to the other end, but cann...原创 2018-10-11 20:23:56 · 396 阅读 · 0 评论 -
1011 - 最小路径覆盖 - Air Raid(POJ 1422)
传送门 题意在一个有向无环图中最少需要几条路径覆盖完所有的点(我可能英语太菜了吧,求大佬帮翻: in such a way that more than one paratrooper visits no intersection.) 分析这……我都把题意说出来了,那答案不就显然了吗一道板题而已……最小路径覆盖:拆点,将每个点分为两个点,左边是1到n个点,右边...原创 2018-10-11 16:16:44 · 94 阅读 · 0 评论 -
1011 - 网络流 - PIGS(POJ1149)
传送门 分析好生优秀的一道建模题一个人打开了某几个猪圈,就相当于在这个时间段把这些猪圈给“合并” 了。 然后后面有人如果要打开其中的某一个,只用找到合并的这个点,然后 连一条边即可,相当于里面的猪都可以被调换过来。 对于每个猪圈维护 lasti,表示最后访问的时间,然后每次连边接到 last, 再把 last 更新即可。但实际上并不需要每次合并都新建一个点,直接合并到顾客身上就...原创 2018-10-11 15:46:35 · 187 阅读 · 0 评论 -
0821-网络流板子dinic的修改版
惊呆了,从学习网络流到现在用的板子居然是伪的??好吧好吧,其实也不是多伪,只是时间会拖慢很多,下面上一下假代码bool bfs(int hh,int ee){ memset(lev,-1,sizeof(lev)); memcpy(cur,head,sizeof(head)); queue<int > q;//////// q.push(hh);lev[hh]=0;...原创 2018-08-21 15:27:21 · 138 阅读 · 0 评论 -
0820-有上下界的可行流-讲解+模板LOJ115,116,117
【无源汇有上下界的可行流】传送门首先定义 f (u,i)是从u到 i 的流量,b()是这条边的下限,c()是这条边的上限,g() 是可增加的部分。我们将每一条边的流量分为两个部分,f(u,i) = b(u,i) + g(u,i),那么显然 c(u,i )>=b( u , i)+g (u,i )【*】又根据流量平衡定理 sigma 【 b(u,i) + g(u,i)】=sigm...原创 2018-08-20 21:29:23 · 227 阅读 · 0 评论 -
0818-网络流+二分图匹配-Snow-(最小路径覆盖【讲解】)
题目背景SOURCE:NOIP2015-SHY4题目描述有一天,TT要去ABC家。ABC的大门外有n个站台,用1到n的正整数编号,TT需要对每个站台访问恰好一定次数以后才能到ABC家。站台之间有m个单向的传送门,通过传送门到达另一个站台不需要花费任何代价。而如果不通过传送门,TT就需要乘坐公共汽车,并花费1单位的钱。值得庆幸的是,任意两个站台之间都有...原创 2018-08-18 16:45:46 · 203 阅读 · 1 评论 -
两遍网络流 - 危桥(CQOI2014)
Analysis建图很好想,建立源点和汇点源点向S1,S2建一条流量为次数*2的边T1,T2向汇点同理建边最后检查是否满流即可但只做一遍是有问题的(省选题果然不是盖的)因为在流的时候可能会存在S1最后流到了T2,S2流到了T1一个显然的反例如果要求0->3,1->2跑出来的最大流是合法的,但实际情况不对一个巧妙的解决办法:把一条路径反过来再跑一遍,如果还满流,则...原创 2019-08-16 15:35:44 · 135 阅读 · 0 评论