网络流
Facico
生命是闪耀的此刻,不是过程,就像芳香不需要道路一样。
展开
-
zkw复习小计
zkw是一个求最小费用最大流的一种又短又快的算法,很多情况下,虐暴spfa。 不过不能有负费用或0。 zkw运用了gap的分层思想,不过他是用费用分层的。 设一个d[i]表示i到t的最短距离,bz[i]表示现在第i个点得标记(标记id时刻++),now[i]的当前弧(sap时代替first,然后时刻更新,很显然)。 不过有一个问题,d[i]既然是i到t的距离,但是后面的点还没有搜过,如何知道原创 2016-02-26 20:24:35 · 1264 阅读 · 4 评论 -
【GDKOI2017模拟1.21】Book
Description曾经有一枚珍稀的邮票摆在我的面前, 我没有好好珍惜 等到失去时 才感到后悔。 ——小Z 小Z曾经是集邮部的成员,集邮部经常举办换邮票活动。活动中,如果两个人互相喜欢对方的邮票,那么这两个人就可以彼此交换自己的邮票。但在这个规则下,小Z没有换到自己喜欢的邮票。小Z觉得这是规则不完善导致的,于是小Z决定制定一个新的交换规则:每次可以选择任意多个人排成一个圆圈,如果每个人都喜欢原创 2017-01-21 19:46:20 · 557 阅读 · 0 评论 -
【HNOI2013】切糕
Description经过千辛万苦小A 得到了一块切糕,切糕的形状是长方体,小A 打算拦腰将切糕切成两半分给小B。出于美观考虑,小A 希望切面能尽量光滑且和谐。于是她找到你,希望你能帮她找出最好的切割方案。出于简便考虑,我们将切糕视作一个长P、宽Q、高R 的长方体点阵。我们将位于第z层中第x 行、第y 列上(1≤x≤P, 1≤y≤Q, 1≤z≤R)的点称为(x,y,z),它有一个非负的不和谐值v(x原创 2017-02-23 15:30:59 · 620 阅读 · 0 评论 -
【NOI2017模拟.4.1】 Tree【最大费用循环流】
DescriptionSolution这题一看就是网络流,但是时无向图,无源汇…… 最小费用循环流! 首先连边是很显然的,连成一个环就可以了,树上的边连双向(上下都能走),然后要覆盖一条链,那么这条链就从下往上连(其实上面连了双向,这里从下往上也可以) 然后直接套上最小费用循环流就可以了。 首先把所有的正权边都流满为ans 然后因为要流量平衡,所以要平衡一下。 统计一下现在的流量度数:原创 2017-04-07 09:37:36 · 1299 阅读 · 0 评论 -
BZOJ 3638 k-Maximum Subsequence Sum
Description给一列数,要求支持操作: 1.修改某个数的值 2.读入l,r,k,询问在[l,r]内选不相交的不超过k个子段,最大的和是多少。Solution怎么做可以用最大费用最大流做把一个点i拆成两个点i1,i2,i1向i2连一个容量为1,费用为a[i]的边;然后i2向(i+1)1连一条容量为1,费用为0的边,然后其他的建边很明显。我们每次流完,为了防止再流一遍,把流过的边权取反,原创 2016-03-24 12:43:32 · 822 阅读 · 0 评论 -
【NOI2012】美食节
DescriptionCZ 市为了欢迎全国各地的同学,特地举办了一场盛大的美食节。 作为一个喜欢尝鲜的美食客,小 M 自然不愿意错过这场盛宴。他很快就尝遍了美食节所有的美食。然而, 尝鲜的欲望是难以满足的。尽管所有的菜品都很可口,厨师做菜的速度也很快,小 M 仍然觉得自己桌上没有已经摆在别人餐桌上的美食是一件无法忍受的事情。于是小 M 开始研究起了做菜顺序的问题,即安排一个做菜的顺序使得同学们的等原创 2016-08-19 22:07:18 · 908 阅读 · 0 评论 -
【NOIP提高】飞扬的小鸟
DescriptionFlappy Bird是一款风靡一时的休闲手机游戏。玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙。如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告失败。 现在小鸟们遇到了一个难题,他们遇到了一堵巨大的墙,墙上仅有m个洞供他们通过,由于小鸟们的体型不同且墙上洞的形状也不同,所以每种体型的鸟通过每个洞的时间都不同,鸟的体型共有n种,第原创 2016-08-19 22:01:36 · 1581 阅读 · 0 评论 -
【GDSOI2017模拟4.13】炮塔(最小割)
DescriptionA君正在玩一款战略游戏,游戏中的规则是这样的: 给定一个n*m的地图,地图上每一个位置要么是空地,要么是炮塔,要么有若干数量的敌人。现在A君要操控炮塔攻击这些敌人。 对于每个炮塔,它们的攻击方向已经确定(上下左右其中一个),A君只需要为每个炮塔指定攻击位置。每一个炮塔只能朝它攻击方向上的某个位置进行攻击,每个炮塔只能攻击一次,当然,炮塔也可以不进行攻击。炮塔对一个位置攻击后原创 2017-04-16 09:13:01 · 958 阅读 · 0 评论 -
【GDKOI2012模拟02.01】矩阵
DescriptionSolution其实这是一道很套路的题目。 首先,我们知道最后的答案之和每行每列的和的最大值有关。 那么我们可以考虑二分这个最大值然后在判断可行解。 我们现在已经知道了最大值,那么要分配方案的话,那么很明显就是上下界网络流了。 源点对每行连h[i]-mid为下界,h[i]+mid为上界。 每行向每列连上下界为[L,R]的边 每列向汇点连上下界为[l[i]-mid,l原创 2017-07-15 22:05:52 · 440 阅读 · 0 评论 -
【CF 513F2】
Description神犇ddddddpppppp勤奋好学,经常会找Fanvree大神问问题。 终于有一天,Fanvree忍无可忍(因为dp问的问题在他看来太无聊),他决定躲在某个机房让dp无法找到他。 所有的机房在一个二维平面上,可以视为一个网格图,每个网格就代表一个机房或者是杂物房。 为了不被dp发现,Fanvree找来了小伙伴帮助他。其中有A个男生,B个女生,和小标。如果每一个男生都有一原创 2016-08-13 19:59:14 · 1133 阅读 · 0 评论 -
【CF 311E】
DescriptionSolution网络流一看就知道是网络流。最小割往网络流的方向去想,答案=所有的赞助-不要的赞助-喝茶的费用-牛变性的费用。 让不要的东西最小,就是经典的最小割模型。连边因为有牛还有人,所以要建立牛的点,还要建立人的点。 根据上面的想法,我们先解决牛的变性问题: 如果一头牛是雄性的,那么我们把S向i连一大小为变性的费用(bian[i])的边,如果割掉了这条边表示我让这头牛原创 2016-08-12 22:16:01 · 1696 阅读 · 0 评论 -
最大权闭合子图
以前打过的,但是忘了,在GDKOI没想出来。 有一个有向图,点权可以为正也可以为负。选一个点集,如果点中所有的点连接的边都出现在这个点集中,那就中闭合图。如果点权和最大就是最大权闭合子图。建图s连向正权,负权连向t(绝对值),然后中间正常连边(如果i依赖j,那么就是i连向j)。求解在图中求一遍最小割,然后用正权和减去最小割就是最大权闭合图。证明网络流一般都很难证明,我们感性的证一下。 如果u依赖原创 2016-02-26 12:34:56 · 1871 阅读 · 0 评论 -
上下界网络流学习小计
概述 有上下界的网络流。建图 网络流有了建图,其他都是浮云。设立超级源和超级汇原创 2016-02-18 22:00:51 · 1061 阅读 · 0 评论 -
GDKOI总结
GDKOI总结Day 1:Problem 1要维护所有连续子段xor的和,支持修改,很明显是线段树。我开始打了棵维护连续xor的线段树a1和维护a1的线段树a2,由于打的十分暴力,交上去只有30分。用十棵线段树来维护每一位的0和1的个数就能100。比赛是没想到,打只有30分的方法浪费了很多时间。Problem 2这道题用全排列暴力只有20分。原创 2016-02-23 18:54:11 · 1274 阅读 · 0 评论 -
【GDOI模拟】染色配对
DescriptionSolution比赛的时候没有时间打这一题了。 回想一下才发现,是我昨天才做过的原题的类型题。 小N研究的NP完全问题jzoj上面叫A…… 其实题意是在一个图中出最多的边,并且他们没有交集。 因为每一个点只会在匹配中最多出现一次,那么我们就要选择这些点都要选哪一些极大团。 我们一开始先让这些点随便选极大团,然后要他们可以选的两个极大团互相两边,表示这个点原创 2016-04-10 00:51:47 · 901 阅读 · 0 评论 -
【NOIP2013模拟】导弹防御塔
DescriptionFreda的城堡—— “Freda,城堡外发现了一些入侵者!” “喵…刚刚探究完了城堡建设的方案数,我要歇一会儿嘛lala~” “可是入侵者已经接近城堡了呀!” “别担心,rainbow,你看呢,这是我刚设计的导弹防御系统的说~” “喂…别卖萌啊……” Freda控制着N座可以发射导弹的防御塔。每座塔都有足够数量的导弹,但是每座塔每次只能发射一枚。在发射导弹时,导弹原创 2016-03-19 13:38:40 · 1658 阅读 · 0 评论 -
【GDOI模拟】飞机调度
Description作为一个旅行达人以及航空公司的金卡会员,你每一年的飞行里程可以绕赤道几周了。你发现,航空公司为了提高飞机的使用率,并不是简单的一条航线使用一架飞机来回飞,而是会让同一架飞机连续不停地飞不同的航线,甚至有的时候为了能够完成飞机的调度,航空公司还会增开一些临时航线——在飞机转场的同时顺路捎一些乘客。你研究了一下GDOI著名航空公司GD Airways的常规直飞航线,你想知道,在最佳原创 2016-04-28 19:01:06 · 1340 阅读 · 0 评论 -
【GDOI模拟】排列
Description给你M个对1到N的排列的特征,特征有两种: 1 x y v:排列的第x个数到第y个数之间的最大值为v 2 x y v:排列的第x个数到第y个数之间的最小值为v 要求你还原出这个排列。Solution刷水有益身心健康。 既然是求方案,数据范围又很小,那么明显的要用把点向权值连边。 然后他每次给出范围之后再进行删边。 最后,二分图最大匹配。Code#include<io原创 2016-04-22 22:07:51 · 716 阅读 · 0 评论 -
【TJOI2016&&HEOI2016】游戏
DescriptionSolution每个炸弹对整行整列都有约束,那么很显然的是二分图最大匹配,行向列连边,说明去了其中的一个就不能再取。 但是这题有软石头和硬石头的限制,怎么办? 我们可以发现有一些区间内是只能放一个炸弹的,那么我们横着把这种块统计出来,竖着再把这种块找出来(为了打着方便,两个#之间可以当做一个块),如果横着的块i和竖着的块j之间的交点是一个空格,那么就连边,说明如果在这两个块原创 2016-07-13 22:06:53 · 975 阅读 · 0 评论 -
【GDKOI2016】寻宝Code&Details
Details模板题,没有太多细节。 如果需要详细的最大权闭合子图解释,请跳转最大权闭合子图和一道更裸的题 ZJOJ上必须要精确到1e-6才能过。 这题因为要求的是最小权,所以把那些值变为相反数再连边。 还有流量为0可能也是合法的,这个要注意。Code#include<iostream>#include<cstdio>#include<cstring>#include<algorith原创 2016-03-04 19:24:17 · 1001 阅读 · 0 评论