[题目链接] http://poj.org/problem?id=1860 [算法] SPFA判负环 时间复杂度 : O(kn) [代码] ...
分类:
其他好文 时间:
2018-09-22 14:41:28
阅读次数:
159
经过笔者的多次实践(失败),在此温馨提示:用SPFA判负环时一定要特别小心! 首先SPFA有BFS和DFS两种实现方式,两者的判负环方式也是不同的。 DFS是如果找到一个节点已经在递归栈中则表示出现负环(即你层层向下搜索后又回到了起点,很明显有负环),BFS是用一个数组记录每一个节点的入队次数,如果 ...
分类:
其他好文 时间:
2018-08-18 18:36:48
阅读次数:
240
``` include pragma GCC optimize(3) define maxn 10000 define maxm 10000 define inf 2147483647 using namespace std; int m, n; int num = 0; struct eg { i ...
分类:
其他好文 时间:
2018-07-23 20:48:49
阅读次数:
198
差分约束裸题,用了比较蠢的方法,先dfs_spfa判负环,再bfs_spfa跑最短路 注意到“奶牛排在队伍中的顺序和它们的编号是相同的”,所以\\( d_i d_{i 1} =0 \\),连(i,i 1,0);然后对于\\( d_i d_j=D d_j d_i include include inc ...
分类:
其他好文 时间:
2018-06-16 22:36:33
阅读次数:
228
原理很简单,SPFA可以多次入队,那么如果一个点入队的次数比点的总数还要多,或是起点入队两次,那么这个图肯定存在负环 例题 "Luogu P3385 【模板】负环" ...
分类:
其他好文 时间:
2018-06-01 19:01:11
阅读次数:
180
tag是假的,用了及其诡异的方法判负环 正权无向边和负权有向边的图 cpp include include include using namespace std; const int N=505,inf=210000000; int n,m,w,h[N],cnt,d[N]; struct qwe ...
分类:
其他好文 时间:
2018-05-03 22:09:13
阅读次数:
151
"P3385 【模板】负环" bfs—spfa太慢,对于判负环 就只能用dfs—spfa 判负环的依据,具体会体现在code中 还有一道题也是判环 思路也是类似 "我的思路" cpp include include include include using namespace std; struc ...
分类:
其他好文 时间:
2018-04-03 17:18:46
阅读次数:
142
spfa判负环 如果一个点在spfa中被入队了大于n次 那么,我们就能肯定,有负环出现。 因为一个点入队时,他肯定被更新了一次。 所以........ 如果不存在负权环。这个点最多被更新节点数次 我们就可以利用这个性质判负环 ~~亏我dijk写了一上午~~ "题目" 语文模板题 cpp includ ...
分类:
其他好文 时间:
2018-03-24 15:42:40
阅读次数:
134
题目传送门 题目大意:有F组数据,N表示有N点,M表示有M条边,走一遍边需要花费Ti个时间,还有W个虫洞,可以向前回溯Ti时间,求能否从1点出发,经过一些路或虫洞回到1点后时间为负。 建图后用SPFA判负环即可。 code: ...
分类:
其他好文 时间:
2018-03-03 18:22:39
阅读次数:
172
输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 接下来M行,每行三个整数a b w,表示a->b有一条权值为w的边(若w<0则为单向,否则双向) 输出格式: 共T行。对于每组数据,存在负环则输出一行"YE5"(不含引号),否 ...
分类:
其他好文 时间:
2018-03-02 14:40:39
阅读次数:
201