摘要:
spfa的最坏时间复杂度是O(nm),但是一般达不到这么高 spfa是bellman-ford算法的升级版,bellman-ford是每次对所有的边判断是否可以松弛,但是实际上只有从刚刚松弛的点出发的边才有可能松弛其他点 所以就可以省去很大一部分的判断 1 #include<iostream> 2
阅读全文
posted @ 2020-11-19 08:59
greenofyu
阅读(128)
推荐(0)
编辑
摘要:
bellman-ford是一个可以求带负权边的单源最短路,但是时间复杂度是铁定的O(nm),所以我们一般用他的优化版本SPFA,不过由于bellman-ford算法的流程,它也可以用来解决一类特定的问题 那就是求出起点到其他点经过不大于k条边的最短路径 1 #include<iostream> 2
阅读全文
posted @ 2020-11-19 08:54
greenofyu
阅读(102)
推荐(0)
编辑
摘要:
单源最短路+正权图+稀疏图 >堆优化dijkstra 1 #include<iostream> 2 #include<vector> 3 #include<cstring> 4 #include<queue> 5 using namespace std; 6 int n,m; 7 const int
阅读全文
posted @ 2020-11-15 10:18
greenofyu
阅读(86)
推荐(0)
编辑
摘要:
单源最短路+正权图+稠密图 >朴素版dijstra 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 const int N=510; 5 int g[N][N],dis[N]; 6 bool st[N]; 7 int
阅读全文
posted @ 2020-11-12 16:09
greenofyu
阅读(85)
推荐(0)
编辑
posted @ 2020-11-08 09:53
greenofyu
阅读(55)
推荐(0)
编辑
摘要:
1 #include<cstring> 2 #include<iostream> 3 using namespace std; 4 int n,m; 5 const int N=1e5+10; 6 int h[N],e[N],ne[N],idx; 7 int q[N],d[N]; 8 void ad
阅读全文
posted @ 2020-11-08 09:49
greenofyu
阅读(171)
推荐(0)
编辑
摘要:
1 #include<iostream> 2 using namespace std; 3 const int N=1e5+10; 4 int m; 5 int head=0,tail=-1; 6 int q[N]; 7 int main(void){ 8 int m; 9 cin>>m; 10 f
阅读全文
posted @ 2020-11-08 09:47
greenofyu
阅读(66)
推荐(0)
编辑
摘要:
1 #include<iostream> 2 using namespace std; 3 const int N=1e5+10; 4 int m,idx; 5 int stk[N]; 6 int main (void){ 7 cin>>m; 8 for(int i=0;i<m;i++){ 9 st
阅读全文
posted @ 2020-11-08 09:37
greenofyu
阅读(83)
推荐(0)
编辑
摘要:
1 // (1) 在最左侧插入一个数; 2 3 // (2) 在最右侧插入一个数; 4 5 // (3) 将第k个插入的数删除; 6 7 // (4) 在第k个插入的数左侧插入一个数; 8 9 // (5) 在第k个插入的数右侧插入一个数 10 #include<iostream> 11 #incl
阅读全文
posted @ 2020-11-08 09:35
greenofyu
阅读(70)
推荐(0)
编辑
摘要:
1 // (1) 向链表头插入一个数; 2 3 // (2) 删除第k个插入的数后面的数; 4 5 // (3) 在第k个插入的数后插入一个数 6 #include<iostream> 7 #include<algorithm> 8 using namespace std; 9 const int
阅读全文
posted @ 2020-11-08 09:34
greenofyu
阅读(78)
推荐(0)
编辑