题意:
给出一个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
题目大意:
农民John的田里有M个池塘和N条水沟用来排水,池塘编号为1~M,1号池塘是所有水沟的源点,
M号池塘是水沟的汇点。给你N条水沟所连接的池塘和所能流过的水量,求整个水沟从源点到汇点
最多能流多少水。
思路:
很明显的求网络流最大流问题。用链式前向星(邻接表)来存储网络,这样就不用考虑重边问题了。这
里的重边其实就是平行边。用SAP算法+GAP优化来求最大流就可以了。SAP+GAP模板参考我的另
一篇博文:http://blog.csdn.net/lianai911/article/detail...
分类:
其他好文 时间:
2015-04-09 22:01:59
阅读次数:
175
题目大意:
有N个岛屿,M条双向道路。每条路每小时最多能通过Ci个人。给你N个岛屿的坐标。问:一个小时内,
最多能将多少游客从最西边的岛送至最东边的岛屿上。
思路:
网络流求最大流的裸题。先通过坐标找到最西边的岛屿和最东边的岛屿,记录并标记为源点和汇点。然后
用链式前向星来存储图,将M条双向边加入到图中。然后用SAP算法来做,据说还没有卡SAP的网络流。
算法用了GAP优化、当前弧优化,具体参考代码。...
分类:
其他好文 时间:
2015-04-09 19:58:47
阅读次数:
201
转载地址:http://blog.csdn.net/acdreamers/article/details/16902023我们首先来看一下什么是前向星.前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组...
分类:
编程语言 时间:
2015-02-03 21:16:27
阅读次数:
222