题目链接让你判断最小割是否唯一。判断方法是, 先求一遍最大流, 然后从源点dfs一次, 搜索未饱和边的数目。 从汇点dfs一次, 同样也是搜索未饱和边的数目, 看总和是否等于n。 如果等于n那么唯一。具体可以看这里,http://www.cnblogs.com/Lyush/archive/2013/...
分类:
其他好文 时间:
2015-12-03 21:18:53
阅读次数:
163
原文地址:图的割点、桥与双连通分支[点连通度与边连通度]在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。类似的,如果有一个边集合,删除这个边集合以后,原图变成...
分类:
其他好文 时间:
2015-11-28 18:10:43
阅读次数:
129
比较裸的流了。。显然是最小割,S连狼=inf,羊连T=inf,狼羊和空地间=1,然后跑就行了,dinic略慢。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #in...
分类:
其他好文 时间:
2015-11-26 23:25:05
阅读次数:
474
最小割..S连每个人(容量:选择理科的愉悦);每个人连T(容量:选择理科的愉悦) .对于每一组(x, y, w)x和y同选理增加的愉悦w,新建节点V,V连x(INF),V连y(INF), S连V(w)对于每一组(x, y, w)x和y同选文增加的愉悦w,新建节点V,x连V(INF),y连V(INF)...
分类:
移动开发 时间:
2015-11-25 21:58:50
阅读次数:
240
由原式,可以推出D=Σ(i=1,n,Σ(j=1,n,A[i]*A[j]*B[i][j]))-Σ(i=1,n,A[i]*C[i]),故建图方法如下:由源点像第一层n*n个点连边,边权为B[i][j],由第一层像第二层连边,边权正无穷,由第二层向汇点连边,边权C[i]。最终答案为Σ(B)-MAXFLOW...
分类:
其他好文 时间:
2015-11-23 23:25:36
阅读次数:
222
首先上一张常见的图:考虑不引入反向边的情形:如果执行bfs一次扫描到增广路1-2-4-6,流量总量累加10,得到的残量网络无法继续进行增广,那么算法返回最大流为10.然而实际上最大流是20,显然该算法是有问题的。最大流算法都是基于最大流最小割定理的,即网络流中任意可行流必然不超过任意S-T割容量,并...
分类:
编程语言 时间:
2015-11-10 23:47:16
阅读次数:
390
平面图跑最大流可以转换为其对偶图跑最短路一个环对应一个割找到最小环(即最短路)极为所求,注意辅助边的建立加入读入优化不过时间还是一般估计是dij写的不好大神勿喷~~~/************************************************************** ...
分类:
其他好文 时间:
2015-11-02 23:07:05
阅读次数:
279
题意: 求一个无向图的点连通度。分析: 把一个点拆成一个入点和一个出点,之间连一条容量为1的有向边,表示能被用一次。最大流求最小割即可。套模板就好代码; #include #include #include #include #include using namespace std;cons...
分类:
Web程序 时间:
2015-11-01 21:19:33
阅读次数:
379
若a,b 2点能够相连,那么可以得到ci的价值,也就是说a,b是得到c的前提条件,对于每一个点,又有耗费,所以建立最小割模型。#include#include#include#define INF 99999999using namespace std;const int maxn = 61000;...
分类:
其他好文 时间:
2015-10-28 22:48:20
阅读次数:
304
因为行可以了,那列就不行,所以根据行列建立最小割模型。然后这题精妙之处在于把乘法取对数后转化为加法,瞬间就简单了。保证精度,C++AC ,16MS G++WA。#include#include#include#include#define maxn 120#define INF 10000000us...
分类:
其他好文 时间:
2015-10-12 00:25:18
阅读次数:
154