次短路与条数#include #include #define N 10005#define INF 0x3f3f3f3fstruct Edge{ int u,val,next;}e[2*N];int p[N],vis[N][2],d[N][2],cnt[N][2];void add(int ...
分类:
其他好文 时间:
2014-08-14 19:32:29
阅读次数:
197
题目:RoadblocksTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 7075 Accepted: 2629DescriptionBessie has moved to a small farm an...
分类:
数据库 时间:
2014-07-23 15:16:06
阅读次数:
530
最短路+次短路(SPFA)
题意是要求你找出最短路的条数+与最短路只差1的次短路的条数。
开始只会算最短路的条数,和次短路的长度。真是给次短路条数跪了。ORZ。其他人都用Dijkstra。我想试试SPFA。
然后大神说要把这个最短,次短都拿去push。而且要用最短来。priority_queue。优先队列。
改得无比忧伤。反正开始改来改去连样例都过不了。后来想着 如果最短可...
分类:
其他好文 时间:
2014-07-22 14:19:59
阅读次数:
239
次最短路。
题意简单,无向图求次最短路。
起点,终点分别做一个SPFA。 然后 d1[u] + w[u,v] +d2[v] 就是经过此边的最短路。 只要排除掉最短,然后比较再找最短。
就是总的次短路。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#incl...
分类:
数据库 时间:
2014-07-21 22:27:07
阅读次数:
272
最短路好题啊。
题目给定起点和终点,要求最短路和次短路(要求次短路只比最短路大1)的道路数量。
重点在于次短路如何处理是最高效的呢
这就要求对dij算法路径更新的理解了。
我们用一个数组记录最短路,一个数组记录次短路。
每次对当前最短边,先更新最短路,更新不了最短路再更新次短路。
每条边处理两次,这样就可以在2n×n的复杂度内求得最短路和次短路了。
#include
#inc...
分类:
其他好文 时间:
2014-07-10 20:34:48
阅读次数:
208
dijkstra求最短路和次短路的求法和计算 模板
dijkstra求最短路的变形。
外循环要循环2*n-1次,因为dis[n][2]有2*n个状态,而dis[s][0]已经用过一次。
算法:
1、如果比最短路短就更新最短路和次短路。
2、如果和最短路相等,更新最短路的计数。
3、如果和次短路相等,更新次短路的方法数。
4、如果比次短路短,更新次短路。
#...
分类:
其他好文 时间:
2014-07-09 12:41:26
阅读次数:
205
解法有很多奇葩的地方,比如可以到达终点再跳回去再跳回来(比如有两个点)。。。。反正就是不能有最短路,不过没关系,算法都能给出正确结果
思想:和求最短路上的点套路一样,spfa先正着求一次,再反着求一次最短路,然后枚举每条边找dist_zheng[i] + len + dist_fan[j]的第二小值即可!注意不能用邻接矩阵,那样会MLE,应该用邻接表
/*
poj 3255
...
分类:
数据库 时间:
2014-07-09 11:28:13
阅读次数:
245
题意:有n个岛屿 起点1 终点
n现在两个人同时从起点出发向终点前进两个人的路径不能有交集(一个人走过的路另一个人不能再走了)问两个人的最小总花费分析:刚开始的的时候以为是最短路和次短路的和就行了
(太天真了)快要结束的时候突然间发现这不就是传说中的最小费用最大流问题吗可惜时间不够思路是这样的:因....
分类:
其他好文 时间:
2014-05-26 00:05:21
阅读次数:
278