
网络流
GEOTCBRL
?????
展开
-
【bzoj1822】[JSOI2010] Frozen Nova 冷冻波
Circle的构造函数没赋初值都能过样例真是厉害啊…… 这题做法比较显然。巫师和精灵构成了二分图,第i个巫师能干的精灵个数就是⌊Titime+1⌋\lfloor\frac{T_i}{time}+1\rfloor,判断所有精灵能否被干完的话跑个最大流就完事了。 至于时间,显然具有单调性,于是二分之。 没了。 判断线段和圆相交的话另外写一篇文章好了。 设网络流时间原创 2015-12-03 22:22:34 · 1133 阅读 · 0 评论 -
CodeChef DEC14 RIN - 最小割
来自集训队作业2016. 吐槽一个。。cc的题目id真的不是用脸滚的吗(雾)【题意】 凛要选课,每课只用上一次且可能有前置课程,第ii个学期上课jj有收益xi,jx_{i,j},某个学期可能不开某课,求最大收益。 他既然给了个前置关系,那么我们来考虑最大权闭合图。原创 2017-06-16 09:52:24 · 635 阅读 · 0 评论 -
GDKOI2015 day 1 代码
项链:#include using namespace std;#define rep(i,a,b) for (int i = a , _ = b ; i <= _ ; i ++)#define per(i,a,b) for (int i = a , _ = b ; i >= _ ; i --)#define cr(x) memset(x , 0 , sizeof x)inline原创 2016-02-17 17:52:00 · 1227 阅读 · 0 评论 -
【 bzoj 2400 】Spoj 839 Optimal Marks - 最小割
每一位之间的贡献是独立的,所以枚举二进制位来算。 每个未确定的点,显然他的权值要么是0要么是1,他划进0有一个代价,划进1有一个代价,同时和相邻的未确定点也有代价。如果用最小割,割完后SS的权值均为1,TT的权值均为0,这样最小割就是最小代价。考虑怎么去构造这样的图。 对于确定是1的,从s连到他inf流量,确定是0的连到t也是inf流量,剩下按无向图建图即可。 割完后从S开始跑个d原创 2016-02-15 20:59:12 · 880 阅读 · 0 评论 -
【 bzoj 2127 】happiness - 最小割
A了这题的我是这样的:暴力建模似乎没啥好说的。。做了2132之后感觉会好些。。。#include <bits/stdc++.h>#define rep(i,a,b) for (int i = a , _ = b ; i <= _ ; i ++)#define per(i,a,b) for (int i = a , _ = b ; i >= _ ; i --)#define fore(i,u)原创 2016-02-15 16:11:29 · 755 阅读 · 0 评论 -
【 bzoj 2132 】GDOI圈地计划 - 最小割
考虑黑白染色成二分图。我们要的是最大收益,那么就应该是删掉最小的一些收益。对于白点WW,连S→WS\rightarrow W,W→TW\rightarrow T,容量分别为A收入和B收入,黑点则反过来,然后有关系的双向连上容量为C的和的边。 这样割掉之后就行了。#include <bits/stdc++.h>using namespace std;#define rep(i,a,b) fo原创 2016-02-15 15:37:57 · 959 阅读 · 0 评论 -
【 bzoj 3955 】[WF2013]Surely You Congest - 网络流 SPFA
显然地可以看出两个乘客有可能撞车当且仅当他们的最短路相同。 于是对乘客按最短路分组,每组在图的最短路DAG上跑类似最大路径覆盖的东西即可。 每次稍微要重新构图,复杂度可能比较高,不过跑起来还是可以的。 #include <bits/stdc++.h>using namespace std;#define rep(i,a,b) for (int i = a , _ = b原创 2016-02-15 10:49:42 · 1266 阅读 · 0 评论 -
bzoj 1449 && bzoj 2597 - 一类凸费用网络流
对于一个网络G=(V,E)G=(V,E),若其中的边权Wu,vW_{u,v}与边(u,v)(u,v)的流量fu,vf_{u,v}呈凸关系,则可以拆边来搞,设其费用与流量的关系为g:fu,v→Wu,vg:f_{u,v}\rightarrow W_{u,v},那么第i条边容量为1,费用为g(i)−g(i−1)g(i)-g(i-1)。 这两题有几个共同点,一是在于凸费用,二是在于需要分配点的流量。前原创 2016-02-14 19:26:27 · 1262 阅读 · 0 评论 -
【 bzoj 2661 】 [BeiJing wc2012]连连看 - 拆点费用流
每个数ii拆成两个点LiL_i和RiR_i,连边S→Li,Ri→TS\rightarrow L_i,R_i\rightarrow T流量为1费用为0,每对有关系的数(x,y)(x,y)连边 Lx→Ry,Ly→RxL_x\rightarrow R_y,L_y\rightarrow R_x流量为1费用为x+yx+y,打个表可以发现边数不会很多,直接跑最大费用最大流。 #include <bits/原创 2016-02-14 19:14:30 · 1259 阅读 · 0 评论 -
【 bzoj 1797 】[Ahoi2009]Mincut 最小割 - 经典题
这个题就是要求一条边在最小割里面的充分条件和必要条件。 首先考虑第一问,也即求充分条件。 我们先对这个图进行最大流算法得到任意一个最小割。设这个时候的残量网络为GfG_f。那么GfG_f中的点集可以显然地被分成了三部分,一部分是源ss可以到达的,一部分是可以到达tt的,剩下的独立成一部分。 可以证明,第一类点一定会被归为最小割中的SS集,第二类点一定会被归为TT集,第三类点两个集合原创 2016-02-14 19:05:33 · 1848 阅读 · 1 评论 -
CF #611 H, New Year And Forgotten Tree - 匹配 | Hall定理
题意:给出一棵树,但是点的编号只知道是几位数,不知道确切的数,要求还原出一棵合法的树。原创 2017-07-04 17:03:15 · 908 阅读 · 0 评论