网络流
文章平均质量分 78
_Ark
这个作者很懒,什么都没留下…
展开
-
LOJ 6033. 「雅礼集训 2017 Day2」棋盘游戏 (二分图匹配问题)
题面LOJ传送门题解感觉没什么方法可以做。但是有巧妙的解法(套路)。我们对于所有空地,相邻两个空地连边,显然是二分图。然后求出一个最大匹配。如果Alice把一个未匹配点作为起点,那么Bob每一步只能走到一个新的匹配了的位置,那么Alice只要走向这个位置对应匹配的位置就可以了。而Bob如果走向了一个未匹配点,就相当于找到了一条增广路,说明这不是一个最大匹配,矛盾。那么只需要求出那些非...原创 2019-12-27 12:52:40 · 319 阅读 · 0 评论 -
NOI2008 志愿者招募 (费用流)
题面申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。经过估算,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人。 布布通过了解得知,一共有M 类志愿者可以招募。其中第i 类可以从第Si 天工作到第Ti 天,招募费用是每人Ci 元。新官上任三把火,为了出色地完成自己的工作,布布希望用尽量少的费用...原创 2019-12-05 15:33:45 · 149 阅读 · 0 评论 -
上下界网络流总结
首先任何有下界的边都要先记录下界的入度和与出度和,记作ininin和outoutout。然后对于点iii:如果in[i]>out[i]in[i]>out[i]in[i]>out[i],则建边(ss→i,in[i]−out[i])(ss\to i,in[i]-out[i])(ss→i,in[i]−out[i])如果in[i]<out[i]in[i]<out[i]i...原创 2019-12-04 21:54:45 · 222 阅读 · 0 评论 -
BZOJ 3698: XWW的难题(有源汇上下界最大流)
题面XWW是个影响力很大的人,他有很多的追随者。这些追随者都想要加入XWW教成为XWW的教徒。但是这并不容易,需要通过XWW的考核。XWW给你出了这么一个难题:XWW给你一个N*N的正实数矩阵A,满足XWW性。称一个N*N的矩阵满足XWW性当且仅当:(1)A[N][N]=0;(2)矩阵中每行的最后一个元素等于该行前N-1个数的和;(3)矩阵中每列的最后一个元素等于该列前N-1个数的和。现在...原创 2019-12-04 17:19:17 · 224 阅读 · 0 评论 -
BZOJ 2502 清理雪道(有源汇上下界最小流)
题面滑雪场坐落在FJ省西北部的若干座山上。从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向。你的团队负责每周定时清理雪道。你们拥有一架直升飞机,每次飞行可以从总部带一个人降落到滑雪场的某个地点,然后再飞回总部。从降落的地点出发,这个人可以顺着斜坡向下滑行,并清理他所经过的雪道。由于每次飞行的耗费是固定的,为了最小化耗费,你想知道如何用最少的...原创 2019-12-04 16:00:14 · 134 阅读 · 0 评论 -
BZOJ 2406 矩阵(二分+有源汇上下界可行流)
题意题解二分答案+可行流判断。模板题。CODE#include <cstdio>#include <cstring>#include <algorithm>#include <cctype>#include <queue>using namespace std;template<class T>inli...原创 2019-12-04 15:55:14 · 133 阅读 · 0 评论 -
UVALive 5099 Nubulsa Expo(全局最小割)
题面vjudge传送门题解论文题见2016绍兴一中王文涛国家队候选队员论文《浅谈无向图最小割问题的一些算法及应用》4节全局最小割 板题CODE暴力O(n3)O(n^3)O(n3)用堆优化可以做到O(nmlog)O(nmlog)O(nmlog)这里只写了暴力#include <bits/stdc++.h>using namespace std;template&l...原创 2019-11-30 17:34:03 · 152 阅读 · 0 评论 -
Luogu SP839 OPTM - Optimal Marks(按位最小割)
这道题和 BZOJ 2400 是一道题,不多讲了CODE#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <algorithm>using namespace std;typedef long long LL;temp...原创 2019-03-13 11:09:02 · 185 阅读 · 0 评论 -
BZOJ 3275: Number (二分图最小割)
题意有nnn个数,其中同时满足下面两个条件的数对不能同时选,求选出一些数让和最大.若两个数aaa,bbb同时满足以下条件,则aaa,bbb不能同时被选存在正整数ccc,使a∗a+b∗b=c∗ca*a+b*b=c*ca∗a+b∗b=c∗cgcd(a,b)=1gcd(a,b)=1gcd(a,b)=1分析看到这熟悉二元关系,就能够用最小割做了.但是乍一看不是二分图的模型,就不能直接...原创 2019-03-13 15:08:19 · 216 阅读 · 0 评论 -
BZOJ 2229 / Luogu P3329 [ZJOI2011]最小割 (分治最小割板题)
题面求所有点对的最小割中<=c的数量分析分治最小割板题首先,注意这样一个事实:如果(X,Y)是某个s1-t1最小割,(Z,W)是某个s2-t2最小割,那么X∩Z、X∩W、Y∩Z、Y∩W这四项不可能均非空。也就是说,最小割不可能相互跨立。这个蕴含了,最多一共有N-1个不同的s-t最小割。只需把这些割找出来即可。寻找的方法:首先,在V中任意找两个点a,b,求最大流,把V划分为割X-Y...原创 2019-03-13 16:51:50 · 113 阅读 · 0 评论 -
BZOJ 1283: 序列 (最大费用流)
题意有n个正整数,要选取里面的一些数,在保证每m个连续的数中最多选k个的情况下,使得得到的值最大.分析我们可以把问题先转化为选k次,每一次每m个数只能选一个.那么根据贪心的策略,每m个里一定会选一个.那么先建一个源点S,一个汇点T,连边就先用容量为k,费用为0的边把S,数组,T顺次连起来,然后每一个位置i向i+m(如果>n就连向T)连一条容量为1,费用为a[i]的边.做最大费用流即可....原创 2019-03-19 09:04:09 · 148 阅读 · 0 评论 -
BZOJ 3630: [JLOI2014]镜面通道 (网络流 +计算几何)
水能流过的地方光都能达到呵呵.jpg那就是裸的最小割(割开上边界和下边界)了…判矩形和圆相交的时候就用圆心对矩形求一次点到矩形的最近距离(类似KD树的预估函数).CODE#include <vector>#include <cstdio>#include <cstring>#include <algorithm>using na...原创 2019-04-03 22:29:43 · 127 阅读 · 0 评论 -
ZrOJ #878. 小K与赞助 (网络流)
傻逼最大费用流:.两棵树分别流,最后汇合。CODE#include <bits/stdc++.h>using namespace std;#define pb push_backconst int MAXP = 1510;const int MAXN = 505;const int MAXM = 5005;const int INF = 0x3f3f3f3f;in...原创 2019-08-09 22:57:26 · 229 阅读 · 0 评论 -
BZOJ 2400: Spoj 839 Optimal Marks (按位最小割)
题面一个无向图,一些点有固定权值,另外的点权值由你来定.边的值为两点的异或值,一个无向图的值定义为所有边的值之和.求无向图的最小值分析每一位都互不干扰,按位处理.用最小割算最小值保留原图的边,容量为1如果当前点这一位是1,就从S连向当前点,容量为∞\infty∞如果当前点这一位是0,就从当前点连向T,容量为∞\infty∞那么这样一来,分在S一边就表示选,分在T一边就表示不选...原创 2019-03-13 11:07:13 · 193 阅读 · 0 评论 -
BZOJ 2127 / Luogu P1646 [国家集训队]happiness (最小割)
题面BZOJ传送门Luogu传送门分析这道题又出现了二元关系,于是我们只需要解方程确定怎么连边就行了假设跟SSS分在一块是选文科,跟TTT分在一块是选理科,先加上所有的收益,再来考虑如何让需要减去的代价最小.我们来看看代价的方程定义AAA表示选文科的收益,BBB表示选理科的收益,有:a+b=Ax+Ay+Ax,y\large a+b=A_x+A_y+A_{x,y}a+b=Ax+A...原创 2019-03-12 22:37:52 · 172 阅读 · 0 评论 -
BZOJ 2039 / Luogu P1791 [2009国家集训队]employ人员雇佣 (最小割)
题面BZOJ传送门Luogu传送门分析考虑如何最小割建图,因为这仍然是二元关系,我们可以通过解方程来确定怎么建图,具体参考论文&amp;lt;&amp;lt;浅析一类最小割问题 湖南师大附中 彭天翼&amp;gt;&amp;gt;那么我们来看看怎么解方程设存在一对二元关系&amp;amp;lt;x,y&amp;amp;gt;&amp;amp;lt;x,y&amp原创 2019-03-12 21:15:26 · 185 阅读 · 0 评论 -
BZOJ 3218 A + B Problem (可持久化线段树+最小割)
做法见dalao博客 geng4512的博客, 思路就是用线段树上的结点来进行区间连边.因为有一个只能往前面连的限制,所以还要可持久化.(duliu)一直以来我都是写dinicdinicdinic做最大流,感觉加上弧优化等等效率还是蛮高的…但是这道题点数边数都是 nlognlognlog 级别的,让我发现还是SAPSAPSAP最快啊…这是dinicdinicdinic AC代码(加上弧优化...原创 2019-03-13 21:06:36 · 229 阅读 · 0 评论 -
Dinic 与 SAP(ISAP?) 模板
发一个最大流模板DinicDinicDinic//vis为int类型//sz为总点数namespace Dinic { inline bool bfs() { int head = 0, tail = 0; vis[S] = ++cur; q[tail++] = S; dis[S] = 0; while(head &amp;amp;amp;amp;lt; tail) { ...原创 2019-03-13 21:41:35 · 223 阅读 · 0 评论 -
BZOJ 1458 / Luogu P4311 士兵占领 (上下界最小流 / 直接最大流)
做法1:上下界最小流先来一发上下界最小流,思路比较暴力,就是把行和列看作n+mn+mn+m个点,(i,j)(i,j)(i,j)如果能占领就从第iii行向第jjj列连一条边,上界为1下界为0;然后从sss向每一行连边,上下界就是题目要求的范围;同理从每一列向ttt连边,上下界为题目需要的.做上下界最小流就行了.不会的去这里liu_runda的博客Upd:Upd:Upd:这道题跟 BZOJ50...原创 2019-03-14 20:25:06 · 187 阅读 · 0 评论 -
BZOJ 1565 / P2805 [NOI2009]植物大战僵尸 (最大权闭合子图 最小割)
题意自己看吧 BZOJ传送门分析…这道题其实就是一些点,存在一些二元限制条件,即如果要选uuu则必须选vvv.求得到的权值最大是多少.建一个图,如果选uuu必须选vvv,则uuu向vvv连边.那么一个点如果要选肯定所有儿子都要选(也就是整棵子数都要选).这就是一个最大权闭合子图的模型.可以发现,如果一个点数大于1的强连通分量每个点都不可选.那么去挑这些点,同时也可以去掉这些点的祖先....原创 2019-03-14 22:28:35 · 273 阅读 · 0 评论 -
BZOJ 2502 清理雪道/ Luogu P4843 清理雪道 (有源汇上下界最小流)
题意有一个有向无环图,求最少的路径条数覆盖所有的边分析有源汇上下界最小流板题,直接放代码了,不会的看dalao博客:liu_runda有点长,讲的很好,静心看一定能看懂CODE#include <bits/stdc++.h>using namespace std;typedef long long LL;template<typename T>inline...原创 2019-03-11 15:46:08 · 152 阅读 · 0 评论 -
最小费用流模板(zkw与spfa)
“zkw” 费用流算法在哪些图上慢(摘自https://www.cnblogs.com/ECJTUACM-873284962/p/7744943.html)实践中, 上面的这个算法非常奇怪. 在某一些图上, 算法速度非常快,另一些图上却比纯 SPFA 增广的算法慢. 不少同学经过实测总结的结果是稠密图上比较快,稀疏图上比较慢, 但也不尽然. 这里我从理论上分析一下, 究竟这个算法用于哪...原创 2018-09-26 21:41:29 · 616 阅读 · 0 评论 -
BZOJ 3774 最优选择 (最小割)
题面中文题面,不解释liao:传送门分析好难啊,好神啊,这题我理解了好久(可能还没有真正理解?)我们先假设所有点都满足条件得到了回报,回报之和为sumsumsum,那么最终的答案一定是sumsumsum减去一部分代价再减去一部分没有满足的点的回报.我们的任务就是求减去的一坨的最小值.所以我们将这个问题转化为求最小割的问题.现在看看怎么转化.首先因为是四联通,所以可以像国际象棋棋盘一样黑白...原创 2019-03-11 19:49:06 · 218 阅读 · 0 评论 -
占位
…原创 2019-03-12 10:06:09 · 112 阅读 · 0 评论 -
BZOJ 3931 / Luogu P3171 [CQOI2015]网络吞吐量 (最大流板题)
题面中文题目,不解释:BZOJ传送门Luogu传送门分析这题建图是显然的,拆点后iii和i′i&amp;amp;amp;amp;#x27;i′连容量为吞吐量的边,根据题目要求1,n1,n1,n的吞吐量看作∞\infty∞.然后用distdistdist表示到111的最小距离,对于满足dist[v]=dist[u]+w[u,v]dist[v]=dist[u]+w[u,v]dist[v]=dist[u]+w[u,...原创 2019-03-12 08:39:06 · 173 阅读 · 0 评论 -
BZOJ 3903 反垄断 (最大流推的结论题)
题目中文题目,不解释:BZOJ传送门分析这道题BZOJ上也只有几个人过…奇怪了下面是正解原问题为一个二分图边染色问题。首先考虑最好情况。最理想情况的分配为:设一个点xxx的度为dgr(x)dgr(x)dgr(x)。那么若dgr(x)dgr(x)dgr(x)为ttt的倍数,那么与xxx相连的边恰好平均分配给ttt个公司,每个公司dgr(x)/tdgr(x)/tdgr(x)/t个;如果不...原创 2019-03-12 10:41:05 · 232 阅读 · 0 评论 -
BZOJ 2095 [Poi2010]Bridges (二分+最大流判断混合图的欧拉回路)
题面nnn个点,mmm条双向边(正向与反向权值不同),求经过最大边权最小的欧拉回路的权值分析见 commonc大佬博客精髓就是通过最大流调整无向边的方向使得所有点的入度等于出度CODE#include <cstdio>#include <cstring>#include <algorithm>using namespace std;tem...原创 2019-03-12 14:34:03 · 134 阅读 · 0 评论 -
BZOJ 3894 / Luogu P4313 文理分科 (拆点最小割)
题面中文题面…BZOJ 传送门Luogu 传送门分析这道题类似于BZOJ 3774 最优选择,然后这里有一篇博客写的很好…Today_Blue_Rainbow’s Blog应该看懂了吧…不懂的画画图,分分情况会发现…这连边…好妙啊CODE#include <cstdio>#include <cstring>#include <algorithm&...原创 2019-03-12 15:38:57 · 145 阅读 · 0 评论