网络流
文章平均质量分 73
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 3438 小M的作物 最大权闭合图
题目大意:给定一些元素,需要放在两个集合里,每个元素放在集合A里的贡献为a[i],放在集合B里的贡献为b[i]其中还有一些子集 若一个子集的所有元素都在A集合里会获得贡献值c1[i],都放在B集合里会获得贡献值c2[i]首先我们先把所有的元素都放在集合A中 获得所有的a[i]和c1[i] 然后考虑最大权闭合子图一个点如果不选就放在A集合中 选就放在B集合中一个点如果选 那么就要扣除原创 2014-11-15 21:16:10 · 1879 阅读 · 0 评论 -
BZOJ 3894 文理分科 最小割
题目大意:给定一个m*n的矩阵,每个格子的人可以学文或者学理,学文和学理各有一个满意度,如果以某人为中心的十字内所有人都学文或者学理还会得到一个额外满意度,求最大满意度之和令S集为学文,T集为学理每个人学文或者学理的满意度很好连边如果某个集合内的人都学理会获得一个满意度,那么就新加一个点,将集合内的所有人向这个点连流量为正无穷的边,再从这个点向T连一条流量为满意度的边,表示集合内任意一原创 2015-02-27 15:09:25 · 3817 阅读 · 0 评论 -
BZOJ 2095 Poi2010 Bridges 二分答案+网络流
题目大意:给定一张图,每条边的两个方向有两个不同的权值,现在要求从1号节点出发遍历每条边一次且仅一次,最后回到1号节点,求最大边权的最小值谁TM翻译的这道题给我滚出来看我不打死你二分最大边的权值,然后就是经典的判断混合图欧拉回路存在性的问题了#include #include #include #include #define M 2020#define S 0#defin原创 2015-03-02 10:47:33 · 1821 阅读 · 0 评论 -
BZOJ 1834 ZJOI2010 network 网络扩容 Dinic+EK费用流
题目大意:给定一个n个点m条边的无向图,每条边有一个扩容费用c,代表每扩容1流量的花费,求最大流及将最大流扩大k的最小费用第一问直接跑最大流第二问将每条边的起始点向终点连接一条流量为正无穷、费用为c的边 然后将n向汇点连一条流量为ans+k 费用为0的边 跑最小费用最大流即可#include#include#include#include#define M 5010#defi原创 2014-11-19 13:05:50 · 1529 阅读 · 0 评论 -
BZOJ 1570 JSOI2008 Blue Mary的旅行 网络流
题目大意:给定一张有向图,每条边每天最多经过有限次,一个人每天只能经过一条边,T个人从1号点出发,问多少天之后能到达n点将图分层,每一天分作一层,每一层的点向下一层连边从源点向第0层的1号点连边每层的n向T连INF的边从1开始枚举天数,每多一天就多建一层然后跑最大流,如果当前T个人已经能到达点n则输出答案由于1~n的路径长度不会超过n,因此T个人排队走这条路径总天数不会超过T+原创 2015-03-06 08:48:03 · 1783 阅读 · 0 评论 -
BZOJ 3903 比赛 最小割
题目大意:给定一个无向图,一些点有点权,一些点的点权可以自己指定,每条边的边权为两端点权值的异或,求边权最小值按位拆开,每一位跑最小割#include #include #include #include #define M 550#define S 0#define T (M-1)#define INF 0x3f3f3f3fusing namespace std;str原创 2015-03-07 17:50:52 · 1317 阅读 · 0 评论 -
BZOJ 3901 Magic 最小割
题目大意:给定一张有向图,每个点有一个权值,你可以付出b[i]的代价将第i个点的权值变成0,一个点的代价为所有出边指向的点的代价的最大值,要求代价之和最小萌哒哒的zxr曾经给我们讲过这个建图方式~ 还记得真是太好了poi~将每个点的所有出边指向的点按照权值从大到小建成从源点出发的一条链,一个点与之前的点的边流量为这个点的权值然后把一个点所有分出去的点全都连到一起,然后向汇点连一条流量为原创 2015-03-07 20:33:15 · 1515 阅读 · 2 评论 -
BZOJ 3931 CQOI2015 网络吞吐量 Dijkstra+网络流
题目大意见http://pan.baidu.com/s/1o6zajc2用Dijkstra跑出最短路图,然后拆点跑网络流即可这水题我TM还WA了两次是不是省选要滚粗了#include #include #include #include #define M 1010#define S 0#define T (M-1)#define INF 0x3f3f3f3f3f3f3f原创 2015-04-07 13:30:46 · 2093 阅读 · 0 评论 -
BZOJ 3993 Sdoi2015 星际战争 二分答案+最大流
题目大意:有n个机器人和m个激光武器,每个武器有一个威力和能打的集合,同一时刻只能打一个机器人,问最少多久可以全灭二分答案+网络流= =注意二分上界#include #include #include #include #include #define M 110#define S 0#define T (M-1)#define EPS 1e-7#define INF原创 2015-04-16 14:49:19 · 1912 阅读 · 0 评论 -
BZOJ 3996 TJOI2015 线性代数 网络流
题目大意:给定一个n∗nn*n的矩阵BB和一个1∗n1*n的行向量CC,求一个1∗n1*n的01矩阵AA,使(A×B−C)×AT(A\times B-C)\times A^T最大 (A×B−C)×AT=A×B×AT−C×AT(A\times B-C)\times A^T=A\times B\times A^T-C\times A^T 我们可以考虑有nn个物品,每个物品选不选对应AA中每个位置是1原创 2015-04-21 15:12:22 · 3025 阅读 · 0 评论 -
BZOJ 3774 最优选择 最小割
题目大意:给定一张网格图,每个点有一个代价和一个收益,如果选择了某个点将会付出这个代价,如果一个点被选择或周围的4个点都被选择那么就会获得这个收益,求最大收益乍一看这个关系中既有【且】又有【或】,没有办法直接建图 但是我们有一个结论: 如果一个点周围的4个点都被选择,那么这个点一定不会被选择 这个结论几乎是显然的,因为如果周围的4个点都选择了的话,选择这个点一定不会产生任何贡献,不如不选然后就原创 2015-05-14 13:03:44 · 2253 阅读 · 2 评论 -
BZOJ 2039 2009国家集训队 employ人员雇佣 最小割
题目大意:给定n个人,每个人有一个佣金,i和j如果同时被雇佣会产生2*E(i,j)的效益,i和j如果一个被雇佣一个不被雇佣会产生E(i,j)的亏损,求最大收益首先对于每一个cost[i],从点i出发向汇点连一条流量为cost[i]的边对于每一对点(i,j),建图如下:从S向点i和点j各连一条流量为E(i,j)的边i和j之间连一条流量为2*E(i,j)的双向边这样可以保证每种割法原创 2015-01-11 10:49:30 · 2360 阅读 · 3 评论 -
BZOJ 2502 清理雪道 最小流
题目大意:给定一张拓扑图,求最少的链(可重复)使之覆盖所有的边 《妈妈我终于会最小流了系列 》 最小流做法如下: 建出可行流的模型,设原先的源汇为SSSS和TTTT,新加入的源汇为SS和TT 跑可行流,若SS的某条出边不满流则无解 删除SS和TT的所有连边,设TT−SSTT-SS这条边的流量为x1x_1,删除这条边 链接S−>TTS->TT和SS−>TSS->T,跑最大流,设最大流为原创 2015-09-15 14:39:46 · 2542 阅读 · 0 评论 -
BZOJ 3275 Number 最小割
题目大意:给定n个数,如果两个数互质且平方和为完全平方数则不能同时被选,求选出一些数的最大和首先这肯定是网络流无误 但是建图十分巧妙很容易发现两个奇数不满足条件一 两个偶数不满足条件2于是这是一个二分图 跑最小割即可#include #include #include #include #include #define M 3030#define S 0#define原创 2014-12-12 15:47:52 · 1717 阅读 · 0 评论 -
BZOJ 2929 Poi1999 洞穴攀行 最大流
题目大意:给定一个有向图,与起点和终点相连的边只能走一次,剩下的边可以走无数次,问起点到终点可以走多少个人把这题的翻译给我揪出来我要打死他……#include #include #include #include #define M 210#define INF 0x3f3f3f3f#define S 1#define T nusing namespace std;str原创 2014-12-09 14:27:26 · 1897 阅读 · 0 评论 -
BZOJ 2965 保护古迹 平面图转对偶图+最小割
题目大意:给定一个平面图以及一些点,求将1个、2个、3个……点围起来所需要的最小代价首先平面图转对偶图枚举每个点的每条没有走过的出边进行DFS,每到达一个点之后向来时的边逆/顺时针转到的第一条边继续深搜,这样可以搜出所有的区域(包括最外层的无限区域)我们可以用面积的符号来判断出最外层的无限区域接下来我们需要判断一个点在哪个区域,由于点只有10个,因此暴力枚举即可判断一个点是否在原创 2015-01-31 11:15:04 · 2186 阅读 · 2 评论 -
BZOJ 1305 CQOI2009 dance跳舞 二分答案+最大流
题目大意:给定n个男生和n个女生,一些互相喜欢而一些不,举行几次舞会,每次舞会要配成n对,不能有相同的组合出现,每个人只能与不喜欢的人跳k次舞,求最多举行几次舞会将一个人拆成两个点,点1向点2连一条流量为k的边,两个人若互相喜欢则点1之间连边,不喜欢则点2之间连边对于每一个要验证的x值 将每个人的点1向源或汇连一条流量为x的边然后二分答案跑最大流即可#include#includ原创 2014-11-20 13:05:19 · 1896 阅读 · 0 评论 -
BZOJ 1458 士兵占领 Dinic最大流
题目大意:给定一个m*n的棋盘,其中k个点有障碍,要求放置最少的士兵,使第i行有至少L[i]个,第j列有至少C[j]个首先这种问题很明显的网络流 但是正图肯定是跑不了 限制条件是至少而且要求放置的也是最少 很难解决反向考虑 将棋盘上先放满士兵 此时若不能满足条件则无解 然后求最多能撤掉多少个士兵 其中第i行最多撤去templ[i]-l[i]个士兵 templ[i]表示第i行当前放置的士兵个原创 2014-11-04 20:17:49 · 1486 阅读 · 0 评论 -
BZOJ 1565 NOI2009 植物大战僵尸 最大权闭合图+拓扑排序
题目大意:给定一个m*n的草坪,每块草坪上的植物有两个属性:1.啃掉这个植物,获得收益x(可正可负)2.保护(r,c)点的植物不被啃掉任何一个点的植物存活时,它左侧的所有植物都无法被攻击求最大收益首先这个保护和被保护的关系就是最大权闭合图的连边关系 然后直接跑就行然后我们就会发现没过样例0.0原因当图出现环时,根据题意,环上的所有点都不能取(想象一个无冷却的食人花前面放原创 2014-09-17 16:45:02 · 2082 阅读 · 0 评论 -
BZOJ 3630 JLOI2014 镜面通道 计算几何+最小点割集
题目大意:给定一个二维的通道,通道内有一些正方形和圆形的零件(允许重叠),求最少删掉多少零件可以使光线通过反射通过这个通道看到这题当时我们都吓得说日语了有木有啊!これはいったい何ですか?!計算幾何ですか?圖論ですか?やれますか?全然知らないあああああ!我在第一第二题上耽误了太长的时间 导致第三题没时间了(第二题还没看到多组数据爆零了 令人感动不已) 最后读入全体数据后加和再加上我的生日然后原创 2014-09-07 14:59:36 · 2482 阅读 · 0 评论 -
BZOJ 1324 Exca王者之剑 最小割
题目大意:给定一个n*m的矩阵,每个格子有宝石,人任选位置出发,取走当前位置的宝石之后四周的宝石消失,然后可以走两步,重复上述过程容易发现一个格子取了那么四周的格子都不能取 于是方格取数问题黑白染色 黑色点连源 白色点连汇 流量为格子的权值 黑白之间连边 流量为正无穷 用总和减去最大流就是答案以前写的EK 跑了4000+ms我也是醉了#include#include#inclu原创 2014-11-20 13:11:17 · 1850 阅读 · 0 评论 -
BZOJ 1189 HNOI2007 紧急疏散evacuate 二分答案+最大流
题目大意:给定一个m*n的地图,每个点有可能是空地、墙或者出口,每个空地初始站着一个人,每一时刻可以向周围走1格,门每一时刻只能通过一个人,求最短多少时间后所有人可以撤离首先从每个出口出发开始广搜,得到每个空地到所有出口的距离然后二分答案,每次建图如下:从源点向每个空地一条流量为1的边如果一个空地能在规定时间到达某个出口,就从这个空地出发向该出口链接一条流量为1的边每个出口向汇原创 2014-11-29 13:05:13 · 2103 阅读 · 0 评论 -
BZOJ 2229 ZJOI2011 最小割 最小割+分治 400AC达成&&2000Submission达成
题目大意:给定一个图,多次询问有多少个点对之间的最小割小于等于某个值最小割分治- -首先朴素的想法是做O(n^2)遍网络流 但是这样显然是过不去的根据一些结论,最小割最多有n-1个,这n-1个最小割构成一个最小割树别问我为什么- -因此我们分治寻找这n-1个最小割每层分治,先任选两个点作为源汇做一遍最小割然后找出S集和T集,对所有S集的点和T集的点构成的点对用本次得到的原创 2015-01-27 13:45:42 · 2264 阅读 · 0 评论 -
BZOJ 2132 圈地计划 最小割
题目大意:给定一个m*n的矩阵,每个位置如果作为商业区或者工业区各有一个收益,如果相邻两块是不同的也会有一个收益,求最大收益吐槽:住宅区呢- - 地理老师骗我们- -普通的最小割建图会遇到一个问题:割断两块之间的边收益为正,即代价为负因此我们如果正常建最小割,那么两块之间的边权就会是负的那么我们将这个矩阵黑白染色,将白格ST反向这样割断两块之间的连边相当于两块选择了同一用途原创 2015-01-27 17:45:10 · 2232 阅读 · 0 评论 -
BZOJ 1433 ZJOI2009 假期的宿舍 最大流
题目大意:给定一些人,有些人是在校学生,有些去学校探访,在校学生有些回家,一个人只能睡认识的人的床,求能不能睡下二分图的模型,左侧是所有需要睡觉的人,右侧是所有能用的床铺,二分图最大匹配即可嫌建图麻烦可以考虑最大流一个点拆成两个如果这个人需要睡床,从原点出发向这个人的第一个点连边如果这个人是在校学生,从这个人的第二个点向汇点连边如果i==j或者i和j认识,从i的第一个点出发原创 2014-12-18 19:33:31 · 1374 阅读 · 0 评论 -
BZOJ 2400 Optimal Marks 最小割
题目大意:给定一个无向图,一些点有权值,其它点的权值可以自己指定,要求指定这些点的权值,使每条边两边的点权异或值之和最小在此基础上要求点权和最小首先不考虑点权和最小这个条件 那么我们将每一位分开计算 我们会发现这是一个最小割的模型令S集为0,T集为1,如果这个点的点权已经指定,则向相应集合连流量为INF的边每条边的两端点之间连一条流量为1的边跑最小割就是答案现在我们将点权考原创 2015-01-09 12:58:52 · 1233 阅读 · 0 评论 -
BZOJ 1266 AHOI2006 上学路线route Floyd+最小割
题目大意:给定一张图,每条边有一个长度和一个花费,要求删掉一些边使1到n的最短路变长,求最小花销首先求出最短路(用什么求随便,反正数据范围小),然后将所有在最短路上的边连到新图中,求最小割就是答案图没有重边- - 数组开小WA了半篇- -#include #include #include #include #define M 510#define S 1#define T原创 2015-01-09 13:12:15 · 1924 阅读 · 0 评论 -
BZOJ 2127 happiness 最小割
题目大意:给定一个座位图,相邻两人之间是朋友,每个人选择学文或学理会有相应的喜悦值,一对朋友同时选择学文/学理也会有相应的喜悦值,求喜悦值之和最大的方案这个题的模型显然是最小割- -看到矩阵上相邻点之间的关系 很容易想到黑白染色 随后就能想到将某种颜色的点源汇对调但是很可惜我没建出图来- - 自己YY了一种做法 但是喜闻乐见地发现建图方法不对- -还是OTZ HZWER一下吧- -原创 2015-01-11 09:47:03 · 2075 阅读 · 0 评论 -
BZOJ 3218 a + b Problem 可持久化线段树+最小割
题目大意:。。。自己看从源点出发,分别向汇点连两条流量为a和b的边,跑最大流即是a+b。代码:#include #include #include #include #define M 10#define S 1#define T 2#define INF 0x3f3f3f3fusing namespace std;struct abcd{ int to,f,nex原创 2015-01-09 17:06:55 · 3748 阅读 · 5 评论