很经典的网络流模型,行列分别看成一个点,行和列和分别看出容量,下界是1,所以先减去1,之后在加上就好了。前向星建图的话,打印解会比较麻烦。#includeusing namespace std;const int maxn = 42;struct Edge{ int v,cap,flow;};...
分类:
其他好文 时间:
2015-08-26 11:57:47
阅读次数:
154
今天接触了最大流,网上有很多ppt,耐心看下,再敲几遍代码大概就能懂意思了
EK 算法
关键是要理解要理解反悔的这个意思,因为每次当你选择了一种方式,但是这种方式不一定是最优的所以我们要再来建立一条反向边,
来完成反悔的策略
然后就是大概一直找增广路,改变最大的值,一直到找不到增广路为止
现在把模板的代码附上,并且给予注释
下面有两种方式一种是紫书上刘汝佳的代码,还有种是用链式前向星,...
分类:
编程语言 时间:
2015-08-18 06:34:43
阅读次数:
202
题意:
给出一个n个结点的无向图,每个结点有一个吞吐量;
规则是数据包传递一定按照最短路,求1到n的网络吞吐量;
题解:
正如黄学长所说,此题题意即题解;
但是还是有几点需要注意的;
最短路是dij还是spfa都可以,但是为了建图需要记录一下路径;
如果用链式前向星可以将所有用来更新的边存下来建图;
但是用vector或者邻接矩阵(不知道能不能过)存边就不能实现;
我是用...
分类:
其他好文 时间:
2015-06-25 09:05:43
阅读次数:
140
转载自http://blog.csdn.net/acdreamers/article/details/16902023我们首先来看一下什么是前向星.前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组中的...
分类:
其他好文 时间:
2015-06-05 19:06:33
阅读次数:
110
题目1 : 拓扑排序·一时间限制:10000ms单点时限:1000ms内存限制:256MB描述由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来。小Ho:小Hi,你这学期有选什么课么?小Hi:挺多的,比如XXX1,XXX2还有XXX3。本来想选YYY2的,但是好像没有先选过YYY1,不能选...
分类:
编程语言 时间:
2015-05-26 23:17:25
阅读次数:
133
一:dijkstra算法时间复杂度,用优先级队列优化的话,O((M+N)logN)求单源最短路径,要求所有边的权值非负。若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的。设road[i][j]表示相邻的i到j的路长U集合存储已经求得的到源点最短路径的节点,S集合表示还...
分类:
编程语言 时间:
2015-05-19 12:10:38
阅读次数:
244
http://blog.csdn.net/acdreamers/article/details/16902023(原文链接,因为太好了,所以copy过来直接收藏)我们首先来看一下什么是前向星.前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排...
分类:
其他好文 时间:
2015-05-18 20:21:46
阅读次数:
113
数据结构:Type EdegNode=recordT,w,next:longint; End;VarE:array[1..m]of longint;Head:array[1..n]of longint;读入边:For i:=1 to n do head[i]:=-1;For i:=1 to m do...
分类:
其他好文 时间:
2015-05-05 14:17:23
阅读次数:
127
使用链式前向星储存边,代码如下://先将图中没有前驱(即入度为0)的顶点加入队列For i:=1 to n do if d[i]=0 thenBegin Inc(tot); q[tot]:=i;End;//使用队列中的点更新d数组并生成拓扑序列Iq:=0;While iq-1 doBegin Dec...
分类:
编程语言 时间:
2015-05-05 14:14:40
阅读次数:
148
大白书模板,图用前向星存储int pre[MAXN], iscut[MAXN], bccno[MAXN], dfs_clock, bcc_cnt;vector bcc[MAXN];int edge,head[MAXN];struct edgenode{ int to,next;} G[MAXM...
分类:
其他好文 时间:
2015-04-10 21:42:14
阅读次数:
131