Network Flow
文章平均质量分 82
wyfcyx_forever
这个作者很懒,什么都没留下…
展开
-
BZOJ2561 最小生成树
题目大意:给定一个边带正权的连通无向图G=(V,E),其中N=|V|,M=|E|,N个点从1到N依次编号,给定三个正整数u,v,和L (u≠v),假设现在加入一条边权为L的边(u,v),那么需要删掉最少多少条边,才能够使得这条边既可能出现在最小生成树上,也可能出现在最大生成树上? 思路:对于某一条边,如果用小于这条边边权的所有边中的一部分就能够使得这条边的两个端点连通,那么这一条边必然不原创 2014-10-23 16:48:08 · 1049 阅读 · 0 评论 -
BZOJ1927 [Sdoi2010]星际竞速
题目大意:自己看中文。。。 思路:不难发现,题目等价于让我们求出一些标号上升的子序列精确覆盖全集,每一个子序列的起点一定是利用“能力爆发” 得到的。 那么我们只需对于每个星球,确定一个前驱就可以了。 若是0作为前驱,则转移代价为定位时间;否则转移代价为路径长度。此外一个点的前驱的标号严格小于自己的标号。 注意0可以作为多个星球的前驱,剩下的星球只能作为一个星球的前驱。 于是转原创 2014-10-24 17:10:39 · 1334 阅读 · 0 评论 -
BZOJ1930 [Shoi2003]pacman 吃豆豆 费用流
题目大意:在二维平面上有若干个点,求出两条不相交的二维LIS,使得上面包含的点的数目最多。 思路1:暴力建图 注意到不相交这个条件根本没用,画图可以发现如果相交的话,我们总可以通过交换一些点使得两个序列不相交。 那么问题转化为求出两个没有公共点的上升子序列,使得长度之和最大。 对于这种情况我们利用最大费用流求解。 设(a,b)分别表示一条有向边的流量和费用。 S->S' (2,原创 2014-10-29 11:06:56 · 1963 阅读 · 0 评论 -
BZOJ1585 USACO 2009 Mar Gold 3.Earthquake Damage 2
题目大意:与http://blog.csdn.net/wyfcyx_forever/article/details/39345281这个相近。只是求的是损坏节点的最小数目。 Sol: 拆点最小割。 S->1 c=INF 提到的点x x'->T c=INF 对于每个点x,为1或是提到的点 x->x' c=INF 对于每个点x,不为1且不是提到的点 x->x' c=1 对于原原创 2014-09-22 08:12:57 · 1544 阅读 · 0 评论 -
BZOJ1433 [ZJOI2009]假期的宿舍
题意:自行脑补 思路:网络流,建模显然,若满流则可以 代码:#include #include #include #include #include #include using namespace std; #define INF 0x3f3f3f3f queue q; struct Solver { int head[200], next[6010], end[原创 2014-10-17 10:07:07 · 1054 阅读 · 0 评论 -
BZOJ2245 [SDOI2011]工作安排
题意:自行脑补,看懂分段函数是什么就行。 思路:显然是最小费用最大流。 对于每个工作人员的每一段,从原点到工作人员对应的点连一条费用与流量与这一段其相适应的边。 对于每个部件,从其对应的点到汇点连一条流量为需要的数目,费用为0的边。 然后就可以出解了。 建模还是很显然的。 还有这题我写spfa的多路增广TLE了,反倒是不加上多路增广能过。不知道为什么。。。 Code:原创 2014-10-21 16:16:14 · 1048 阅读 · 0 评论