摘要: 构图参考:http://www.cppblog.com/abilitytao/archive/2010/03/30/111042.html 1 // File Name: 3680.cpp 2 // Author: Missa 3 // Created Time: 2013/4/19 星期五 15:57:48 4 5 #include<iostream> 6 #include<cstdio> 7 #include<cstring> 8 #include<algorithm> 9 #include<cmath> 10 #include& 阅读全文
posted @ 2013-04-19 16:51 Missa 阅读(338) 评论(0) 推荐(0)
摘要: 在一个网络中每段路径都有“容量”和“费用”两个限制的条件下,此类问题的研究试图寻找出:流量从A到B,如何选择路径、分配经过路径的流量,可以达到所用的费用最小的要求。如n辆卡车要运送物品,从A地到B地。由于每条路段都有不同的路费要缴纳,每条路能容纳的车的数量有限制,最小费用最大流问题指如何分配卡车的出发路径可以达到费用最低,物品又能全部送到。 1 //最小费用最大流模版.求最大费用最大流建图时把费用取负即可。 2 //无向边转换成有向边时需要拆分成两条有向边。即两次加边。 3 const int maxn = 1010; 4 const int maxm = 1000200; 5 const i 阅读全文
posted @ 2013-04-19 13:35 Missa 阅读(3181) 评论(0) 推荐(0)
摘要: http://www.cppblog.com/MatoNo1/archive/2011/04/05/143449.html图的连通度问题是指:在图中删去部分元素(点或边),使得图中指定的两个点s和t不连通(不存在从s到t的路径),求至少要删去几个元素。图的连通度分为点连通度和边连通度:(1)点连通度:只许删点,求至少要删掉几个点(当然,s和t不能删去,这里保证原图中至少有三个点);(2)边连通度:只许删边,求至少要删掉几条边。并且,有向图和无向图的连通度求法不同,因此还要分开考虑(对于混合图,只需将其中所有的无向边按照无向图的办法处理、有向边按照有向图的办法处理即可)。【1】有向图的边连通度: 阅读全文
posted @ 2013-04-19 12:00 Missa 阅读(2213) 评论(0) 推荐(0)
摘要: 无向图点连通度:构造有向图,再枚举源汇点求最小割。1、无向图中任一个点u拆边为u和u+N,连容量为1的有向边。2、对于无向图中原有的任意无向边(u,v),在构造的有向图中添加边(u+N,v)和(v+N,v),容量均为无穷。(拆边规则)3、O(n^2)枚举源点(拆后出点)、汇点(拆后入点)求最小割的最小值(注意源点与汇点直接相连的情况,显然此时最大流流出来的是inf)。View Code 1 // File Name: 1966.cpp 2 // Author: Missa 3 // Created Time: 2013/4/19 星期五 10:29:17 4 5 #include... 阅读全文
posted @ 2013-04-19 11:34 Missa 阅读(482) 评论(0) 推荐(0)