网络流
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[BZOJ2542]CTSC2000终极情报网 费用流
看题面就看出是费用流,但和普通费用流有所不同。 因为是乘法统计,所以反向边要设为倒数,spfa找乘积最大路,统计流的时候也要用乘。 注意精度问题,要不然就可能出现一条边和它的反向边乘起来>1了,spfa就会爆炸。 代码type edge=^edgenode; edgenode=record t,c,f:longint; w:double; next,rev:ed原创 2017-02-28 22:17:38 · 451 阅读 · 0 评论 -
[2018雅礼省选集训3-30]path 平面图最短路最小割
根据题意,题目给定的图是一个平面图。如果把111号点到不了的点和到不了nnn号点的点及所连边删掉,那么图就大概是有一条111到nnn的链,然后还有一些边覆盖在上面,这样的话它的对偶图就大概是一棵树。 再考虑颜色限制怎么搞,假设xxx与其父亲的边在原图中代表边(u,v)(u,v)(u,v),那么xxx在TTT割就表示不选u+1,...,v−1u+1,...,v−1u+1,...,v-1这些点的颜色...原创 2018-04-16 22:20:18 · 441 阅读 · 0 评论 -
[2018雅礼1-2]变量 最小割
题面 考场上想到最小割竟然没想到怎么建图?!! 首先WW就是唬人的,直接当成11和−1-1做最后乘上即可。 式子什么的都是唬人的,拆开计算就好,对于所有di,ei,fid_i,e_i,f_i都拆开,把每个wiw_i的系数统计出来,因为最后还要加∑wi\sum w_i所以系数都再加个11,设wiw_i系数为lil_i。 对于ai,bi,cia_i,b_i,c_i绝对值的项,就是当两个ww不相等原创 2018-01-02 22:36:12 · 316 阅读 · 0 评论 -
[BZOJ3144][HNOI2013]切糕 最小割
核心思想:在最小割中用容量为无穷大的边来表示限制。 这题相当于一个p*q的矩阵,每个矩阵添一个[0,r]的数,且相邻数之差不超过d,同时最小化v(i,j,k)。 先把一个格子的取值串起来,就是(i,j,k)向(i,j,k+1)连一条容量为v(i,j,k+1)的边; 特别地,S向(i,j,1)连一条容量为(i,j,1)的边,(i,j,r)向T连一条容量为无穷大的边; 那么这些边中必须割一条,表原创 2017-12-15 19:34:31 · 307 阅读 · 0 评论 -
[BZOJ1711]Dining 吃饭 最大流
核心思想:用一个流量表示一个方案。 源点向每个食物连一条容量为1的边。 每个饮料向汇点连一条容量为1的边。 把每个奶牛拆成两个点,入点向出点连一条容量为1的边。 每个食物向能吃它的奶牛的入点连一条容量为1的边。 每个奶牛的出点向它能喝的饮料连一条容量为1的边。 1流量代表一个奶牛吃饱,跑最大流即可。 代码:#include<iostream>#include<cstdio>#inc原创 2017-12-15 19:25:00 · 286 阅读 · 0 评论 -
[ARC085]E - MUL 最大权闭合子图
题面 考虑第x个数没有被筛去,那么x的约数都应该没有被筛去。 所以每个点的点权就是它的价值,然后向自己所有约数连边,跑最大权闭合子图即可。 代码:#include<iostream>#include<cstdio>#include<cstring>#define ll long longusing namespace std;int n,a[110],S,T,ne[110],dl[1原创 2017-12-04 11:12:41 · 544 阅读 · 0 评论 -
[BZOJ2502]清理雪道 有上下界的最小流
今天刚学的上下界网络流,概念都还不是很熟。。。 题意立即可以转化成每条边流量下界为1,上界为inf,s向每个点连边,每个点向t连边,下界都为0,上界都为inf,求最小流量。 于是建立超级源和超级汇,按套路先求出一个可行流,记ans1为可行流中t->s这条边的流量。然后删除t->s,再跑一个t到s的最大流(退一些流使总流量变小),记ans2为这次最大流的流量,答案即为ans1-ans2。 要注意原创 2017-04-27 11:52:01 · 314 阅读 · 0 评论 -
[BZOJ]2561 最小生成树 最小割
为什么删除最少的边判连通连最小割都没想到。。。估计是废了。。。 考虑Kruskal的过程(最小生成树)如果有一条边(u,v),若所有比他小的边能使u,v联通,这条边就不必加入生成树中,最大生成树也同理。于是我们只要把权值比L小的调出来跑最小割,权值比L大的也挑出来跑最小割。两个加一下就是答案了。代码:type edge=^edgenode; edgenode=record t,c,原创 2017-04-25 09:04:15 · 476 阅读 · 0 评论 -
[雅礼4-4]Tree 最大费用循环流
考虑构建网络流模型。 对于每条树边,由祖先向儿子连一条容量为di,费用为0的边。对于每条覆盖路径,由深度小的向深度大的连一条容量为1,费用为ci的边。跑一边最大费用循环流即可。 最大费用循环流基本思路: 1.建网络流那样有反向弧的图; 2.用spfa最长路在残量网络找正环(最好用dfs找),如果一个点在一次dfs中再次出现,则找到了一个环,把它流满。 3.知道找不到正环为止。代码type原创 2017-04-05 17:03:06 · 501 阅读 · 0 评论 -
[雅礼4-7]T3 最小割/乱搞
考场上打暴力智障到用力的分解来判平衡。。。 我们发现相邻两片扇叶间隔相同组成的环是能保证平衡的,题目中说最多有两个素因子,所以素环最多只有两种(非素环可以用若干个素环拼起来)。所以我们要尽可能多的选环并且不能使同一片扇叶出现在两个环中。考虑最小割:每个环看成一个点,源点向长度为p1的环连一个容量为p1的边,长度为p2的环向汇点连一个容量为p2的边;如果某个扇叶坏了,把它所在的环与源汇点的边断掉;如原创 2017-04-09 22:01:25 · 373 阅读 · 0 评论 -
[2017雅礼集训]day9 T2 价 最小割/最大权闭合子图
题目大意:有N种药品,每种药品由若干种药材制成,有一个权值Pi,所有药材也恰好为N种,且保证有一种方案使每种药品一 一对应对应一个其使用的药材(即有完美匹配)。求一种选药材的方案,使选的药品数和它们使用的药材数相等,且最小化选出的药品权值和。(1<=N<=300, |Pi|<=1e7)解法一:建立最小割模型,源点向所有药品连边,容量为INF-pi,药品向制作它的药材连边容量为IIINF(比INF大一原创 2017-03-18 10:25:22 · 696 阅读 · 0 评论 -
[联合集训6-19] 新干线 猜测题意+拆点网络流
题意还有一些细节如下: 1. 同一站点同一轨道同一时刻最多只能发一列货车 2. 直接经过的列车不占用停车位 3. 每条轨道上不允许发生客车超过货车的情况,但同时出发或同时到达某站是合法的,而且不占用该站台的停车位,就算客车货车速度相同且同时出发仍然算合法的 4. 求能发出货车且在MaxtimeMaxtimeMaxtime内到达终点的最大值。题中说到不能影响客车运行,也就是每列客车中...原创 2018-06-20 21:33:55 · 344 阅读 · 0 评论