最大流
文章平均质量分 53
Freopen
这个作者很懒,什么都没留下…
展开
-
【清华冬令营2018模拟】变量
变量(variable)【题目描述】有n个变量w[1]~w[n],每个变量可以取W或-W。有p个式子,形如Hi=ai|w[xi]-w[yi]|+bi|w[yi]-w[zi]|+ci|w[zi]-w[xi]|+di(w[xi]-w[yi])+ei(w[yi]-w[zi])+fi(w[zi]-w[xi])。有q个条件,形如w[x]最小化sigma(wi)+sigma(Hi)。原创 2018-01-17 18:56:45 · 512 阅读 · 0 评论 -
BZOJ 1458: 士兵占领(最小流)
有一个M * N的棋盘,有的格子是障碍。现在你要选择一些格子来放置一些士兵,一个格子里最多可以放置一个士兵,障碍格里不能放置士兵。我们称这些士兵占领了整个棋盘当满足第i行至少放置了Li个士兵, 第j列至少放置了Cj个士兵。现在你的任务是要求使用最少个数的士兵来占领整个棋盘。最小流裸题。连T->S成循环流,最小流为T到S的边的反向边的流量-T到S的最大流(需要删去T到S的边)AC Cod...原创 2019-03-14 20:08:10 · 138 阅读 · 0 评论 -
BZOJ 3996 TJOI2015 线性代数(最大权闭合子图)
题目发现选Bi,j选B_{i,j}选Bi,j需要承受CiC_iCi和CjC_jCj的代价,直接最大权闭合子图。。。建成二分图,ans = b的和 - 最小割PS:此题最大流需要优化剪枝。。。AC Code#include<bits/stdc++.h>#define maxn 505#define inf 0x3f3f3f3fusing namespace std;...原创 2019-03-11 16:12:53 · 125 阅读 · 0 评论 -
上下界网络流
大佬博客转载 2019-03-11 19:01:12 · 257 阅读 · 0 评论 -
BZOJ 2502: 清理雪道(上下界最小流/上下界最小费用流)
滑雪场坐落在FJ省西北部的若干座山上。从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向。你的团队负责每周定时清理雪道。你们拥有一架直升飞机,每次飞行可以从总部带一个人降落到滑雪场的某个地点,然后再飞回总部。从降落的地点出发,这个人可以顺着斜坡向下滑行,并清理他所经过的雪道。由于每次飞行的耗费是固定的,为了最小化耗费,你想知道如何用最少的飞行...原创 2019-03-11 20:00:17 · 158 阅读 · 0 评论 -
BZOJ 1570: [JSOI2008]Blue Mary的旅行(迭代加深最大流)
题目好裸啊。看到数据范围秒懂:每天拆点就行了。AC Code:#include<bits/stdc++.h>#define maxn 10000#define maxm maxn * 105#define inf 0x3f3f3f3fusing namespace std;int n,m,t;int mark[305][105],x[maxm],y[maxm],w...原创 2019-03-12 10:55:52 · 154 阅读 · 0 评论 -
Luogu P4313 文理分科(网络流二元关系)
题目BZOJ3774 最优选择的升级版。注意周围有3种状态(全选理,全选文,不统一),所以要拆2个点出来。AC Code:#include<bits/stdc++.h>#define maxn 30010#define maxm maxn * 100#define inf 0x3f3f3f3fusing namespace std;int n,m,mark[105]...原创 2019-03-12 16:10:07 · 230 阅读 · 0 评论 -
BZOJ 2132: 圈地计划(网络流二元关系)
题目这个题,求最大值,那么先把所有值加起来-最小割。那么我们的二元关系应该是选同样有∣x−i∣+∣y−j∣=1,Cij+Cxy|x-i|+|y-j|=1,C_{ij}+C_{xy}∣x−i∣+∣y−j∣=1,Cij+Cxy的代价。相异代价-相同代价 < 0。需要反转,中间代价为C之和。具体看:pty《浅析一类最小割问题》AC Code:#include<bits/st...原创 2019-03-12 16:42:16 · 177 阅读 · 0 评论 -
Luogu 1791【[国家集训队]人员雇佣】 (网络流)
自己的博客原创 2019-03-12 19:07:16 · 178 阅读 · 0 评论 -
BZOJ 4657 tower(最小割棋盘覆盖模型)
题目考场上打了一发上下界最小费用流,55pts尚可。这个题是最小割的模型。因为炮塔不能瞄准炮塔,所以两个炮塔的攻击区域只会垂直相交。将炮塔横向覆盖的格子作为X部,纵向覆盖的格子作为Y部。横向覆盖的格子,相邻之间连无穷大的边,方向指向炮塔。纵向覆盖的格子,相邻之间连无穷大的边,方向指向炮塔的反方向。源点向横向覆盖的格子连边,容量为该格子的前缀最大值与它前一个格子的前缀最大值的增量。前...原创 2019-04-20 15:53:48 · 282 阅读 · 0 评论 -
保序回归问题
推荐看论文。1.如果G是一条链,那么可以用单调栈的方法求出LpL_pLp具体为:如果要求fj>fif_j > f_ifj>fi , 但是fj<fif_j < f_ifj<fi 在wi∣fi−yi∣pw_i|f_i-y_i|^pwi∣fi−yi∣p最小时wj∣fj−yj∣pw_j|f_j-y_j|^pwj∣f...原创 2019-07-11 19:40:43 · 444 阅读 · 0 评论 -
[AHOI2009]最小割
求可能在最小割的边和一定在最小割中的边。1.判定边xy是否可能在最小割中 (最小割可行边)充要条件: 1.满流。 2.在残余网络中找不到x到y的路径。很好理解,如果还能找到,那么砍了它也没什么用如果正向弧没流满,那么肯定不是最小割(可以找到另一条更好限制流量的边)只有满流才能让正向弧等于0,才有不能找到的条件因此,在算法体现中,他们两个必定只能不属于一个SCC才能在最小割中...原创 2019-02-21 17:35:34 · 195 阅读 · 0 评论 -
CF 739E
重复连不同价值的边帮助分类讨论实数网络流需要eps#include<bits/stdc++.h>#define maxn 2005#define inf 0x3f3f3f3fusing namespace std;const double eps = 1e-7;int n,a,b;double p[maxn],u[maxn];int info[maxn<<...原创 2018-12-23 10:10:57 · 568 阅读 · 0 评论 -
最长反链
反链不是链,而是一个点的集合,保证任意两点不在一条链当中。定理:最长反链=最小链覆盖最长链=最小反链覆盖CTSC2008 祭祀:不用做传递闭包,只需将二分图中i'到i和u到v‘的权值设为inf就行了,这样一些点会被当做中间点作了传递闭包的作用同时加快速度:#include<bits/stdc++.h>#define maxn 1005#define m...原创 2018-03-10 20:21:10 · 1965 阅读 · 0 评论 -
CQOI2012 交换棋子 网络流棋盘模型
交换棋子 网络流棋盘模型,白点流到白点因为是对点的限制,我们考虑拆点。为A1,A2形象的看来就是两个平面,一个在上,另一个在下。然后我们考虑交换次数这个东西如何用流量限制。当一个点A到另一个点B时。不仅B1到B2的流量要减,A1到A2的也要减。然后我们发现,除了起点和终点,别的点只要进来了白点,这个白点一定会出去。所以我们让这个白点预付款,让他耗费的流量翻倍,实际上让边的流量减半就行。然后起点终点...原创 2018-03-19 18:54:16 · 229 阅读 · 0 评论 -
CQOI2014 危桥
危桥 这题告诉我们人有多大胆,乱搞是标算。乱猜一下交换一对源汇后仍然可以成立才是Yes然后。。。。就这样反直觉的证出来了,对于每一个a1->b2,b1->a2的路径可以交换一对源汇(a1,a2),然后之前每一个a1->b2,b1->a2的路径就会对应变成了a2->a1,b1->b2的一条路径新产生的a2->b2,b1->a1的路径对应之前的a1-&g...原创 2018-03-19 20:12:25 · 226 阅读 · 0 评论 -
分治最小割树
https://blog.csdn.net/oi_Konnyaku/article/details/84927936https://blog.csdn.net/qq_33229466/article/details/53290996http://hzwer.com/6248.html最小割不会互相跨立所以可以分治。理论复杂度O(n^4),Dinic写得好可以看做O(n^2l...原创 2018-03-19 22:14:41 · 181 阅读 · 0 评论 -
Number HYSBZ - 3275
有N个正整数,需要从中选出一些数,使这些数的和最大。若两个数a,b同时满足以下条件,则a,b不能同时被选1:存在正整数C,使a*a+b*b=c*c2:gcd(a,b)=1Input第一行一个正整数n,表示数的个数。n<=3000第二行n个正整数a1,a2,...anOutput最大的和Sample Input53 4 5 6 7Sample Output22二分图最小割模型中,考虑这样一个...原创 2018-03-20 11:21:07 · 203 阅读 · 0 评论 -
最大流的板
以前的有小漏洞。。。。。。。#include<cstdio>#include<cstring>#include<cctype>#include<algorithm>#define inf 0x3f3f3f3f#define maxn 205#define maxm maxn*maxnusing namespace std;int n...原创 2018-03-20 15:14:12 · 155 阅读 · 0 评论 -
最小割连边模型
1.对于两个都有S方面的边和T方面的边的点,在他们之间连inf表示这两个点要么全割S方面的边要么都割T方面的边。最小割的一种数学建模:$01$变量建模连边:对于一个$01$变量$a$,它在图中的点的编号我们也记作$a$边$(S,a,b)$表示$a=1$时要花费$b$的代价。边$(a,T,b)$表示$a=0$时要花费$b$的代价。边$(a,c,b)$表示$a=0,c=1$时要...原创 2018-03-30 19:25:30 · 189 阅读 · 0 评论 -
UOJ#77. A+B Problem
#77. A+B Problem统计描述 提交 自定义测试题目名称是吸引你点进来的。从前有个nn个方格排成一行,从左至右依此编号为1,2,⋯,n1,2,⋯,n。有一天思考熊想给这nn个方格染上黑白两色。第ii个方格上有66个属性:ai,bi,wi,li,ri,piai,bi,wi,li,ri,pi。如果方格ii染成黑色就会获得bibi...原创 2018-03-21 20:02:25 · 685 阅读 · 0 评论 -
BZOJ1458士兵占领
Description有一个M * N的棋盘,有的格子是障碍。现在你要选择一些格子来放置一些士兵,一个格子里最多可以放置一个士兵,障碍格里不能放置士兵。我们称这些士兵占领了整个棋盘当满足第i行至少放置了Li个士兵, 第j列至少放置了Cj个士兵。现在你的任务是要求使用最少个数的士兵来占领整个棋盘。Input第一行两个数M, N, K分别表示棋盘的行数,列数以及障碍的个数。 第二行有M个数表示Li。 ...原创 2018-04-12 16:45:21 · 165 阅读 · 0 评论 -
NOI2012美食节
动态加点减少常数的(不加当前弧还是要T的)费用流。#include<bits/stdc++.h>#define maxn 105 * 805#define inf 0x3f3f3f3fusing namespace std;int n,m;int info[maxn],buf[maxn],Prev[maxn<<1],to[maxn<<1],cap[...原创 2019-10-03 16:21:30 · 247 阅读 · 0 评论