学(fuxi)了一阵子简要总结一下
floyd 全跑一边 点的三次方 100以下都呛 与点有关 无关边数 (可用于求解最小环)
dij裸 点的二次方 每次贪心取最小的松弛
SPFA km k期望2 与边有关 稀疏图最好 搭配边表 最坏情况可能比上面的还慢 唯一可判负环
Bellman-Ford SPFA复杂版 不考虑
dij优化 mlogn 更多与边有关 或许是稠密图的最优解决...
分类:
其他好文 时间:
2015-05-19 19:03:09
阅读次数:
172
差分约束是把形如 ai - bi >= ci (ai - bi = bi + ci ,意思是所有的不等式都要满足这样子的形态, 那么我们建一条从bi->ai权重为ci的边,然后对整个图求最长路, 那么最终的结果就有ai >= bi +ci这是根据bellman_ford的性质。同理,对于不等式 ai...
分类:
其他好文 时间:
2015-05-17 15:01:40
阅读次数:
121
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
描述
万圣节的晚上,小Hi和小Ho在吃过晚饭之后,来到了一个巨大的鬼屋!
鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间互相有一些道路连通,两个地点之间可能有多条道路连通,但是并不存在一条两端都是同一个地点的道路。
不过这个鬼屋虽然很大,但是其中的道路并不算多,所以小Hi还是希望能...
分类:
其他好文 时间:
2015-05-15 09:11:39
阅读次数:
132
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 100000000L
using namespace std;
int n,ml,md;
int a[1005][1005];
struct node{...
分类:
其他好文 时间:
2015-05-14 22:11:50
阅读次数:
159
dij是单源的,只是从一个顶点出发到其它点的最短距离,并且它的全值都是正的,不能够有负值;Bellman-ford 也是单源的,但是他能够完成负权值的图,这是dij无法达到的,并且能够判断是否存在负环,经过修改可以求最长路;SPFA是在Bellman-ford上优化的,所以跟快; floyd算...
分类:
其他好文 时间:
2015-05-14 13:44:53
阅读次数:
105
Til the Cows Come HomeTime Limit:1000MSMemory Limit:65536KTotal Submissions:33015Accepted:11174DescriptionBessie is out in the field and wants to get ...
分类:
编程语言 时间:
2015-05-08 18:05:23
阅读次数:
237
题目的意思是求解从路标N到路标1的最短路径,简单的最短路径题目,Dijkstra或者Bellman_Ford算法都可以过。
题目有一个坑:输入有重边,所以要选择最小的长度。
下面是AC的代码:
#include
#include
using namespace std;
int cost[1005][1005];
bool vis[1005];
int dis[1005];
c...
分类:
其他好文 时间:
2015-05-06 17:55:23
阅读次数:
120
最短路径:poj1125 - Stockbroker Grapevine(多源最短路径,floyd)poj1502 - MPI Maelstrom(单源最短路径,dijkstra,bellman-ford,spfa)poj1511 - Invitation Cards(单源来回最短路径,spfa邻接...
分类:
其他好文 时间:
2015-05-04 21:42:57
阅读次数:
218
Bellman-Ford算法与另一个非常著名的Dijkstra算法一样,用于求解单源点最短路径问题。Bellman-ford算法除了可求解边权均非负的问题外,还可以解决存在负权边的问题(意义是什么,好好思考),而Dijkstra算法只能处理边权非负的问题,因此 Bellman-Ford算法的适用面要...
分类:
编程语言 时间:
2015-05-04 15:06:24
阅读次数:
238
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int INF = 10000000;
int n,v,d[10000];
struct node {
int f,e;
int w;
...
分类:
其他好文 时间:
2015-04-25 10:46:16
阅读次数:
187