题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4773 题解 最小的负环的长度,等价于最小的 $len$ 使得存在一条从点 $i$ 到自己存在一条长度 $\leq len$ 的负权路径。 为了把 $\leq len$ 转化为 $=len$,我们 ...
分类:
其他好文 时间:
2019-09-29 22:16:02
阅读次数:
104
本篇博客只讲思路,总结经验,不适于作为新手零基础学习的材料。 关于负权回路,一般有2种主流算法:spfa与bellman。 spfa判负环: 1、bfs版:即最基础的spfa判负环。有多种判定条件:当一个路径上的节点数大于n时;当某个点的入队次数大于n-1时。最差复杂度O(nm) 2、dfs版:基于 ...
分类:
编程语言 时间:
2019-09-22 16:40:40
阅读次数:
118
题意::问一个图是否存在负环,虫洞一边的权值为负 思路: dfs版spfa判环根据:若一个节点出现2次及以上,则存在负环.(你可以假想一下,当一个点被搜过时,再次深搜的话还能搜索到那不就说明存在负环嘛可能解释的不好,请见谅) {补充bfs版本:若一个节点入队列的次数超过n,则存在负环.} 如果是bf ...
分类:
其他好文 时间:
2019-09-10 17:35:45
阅读次数:
57
题目链接 题目含义 有一个有向图,每个点都有点权,每条边也都有边权 然后有头牛要从任一点出发,经过至少两个点后回到原点,即走一个环 问经过的sigma点权/sigma边权最大是多少 题目分析 最开始没想出来,看了网上说用SPFA判负环也有点不明白 因为不是说每个点的点权只得到一次吗,SPFA是怎么处 ...
分类:
其他好文 时间:
2019-08-10 21:15:48
阅读次数:
88
SPFA 算法 算法优点: 1.时间复杂度比普通的Dijkstra和Ford低。 2.能够计算负权图问题。 3.能够判断是否有负环 (即:每跑一圈,路径会减小,所以会一直循环跑下去)。 期望的时间复杂度O(k*e), 其中k为所有顶点进队的平均次数,e是边的数量,可以证明k一般小于等于2。 实现方法 ...
分类:
其他好文 时间:
2019-08-08 23:33:29
阅读次数:
97
恢复内容开始 看到的结论:E是边数,n是点数量。 Dijkstra(迪杰斯特拉):适用于权值为非负的图的单源最短路径,优先队列优化 O(E+nlgn) SPFA:适用于权值有负值,且没有负环的图的单源最短路径,SPFA的最坏情况是O(Vn). Floyd(弗洛伊德):任意两点之间的最短路径。O(n^ ...
分类:
其他好文 时间:
2019-08-07 22:18:23
阅读次数:
136
I - Arbitrage 题目链接:https://vjudge.net/contest/66569#problem/I 题目: Arbitrage is the use of discrepancies in currency exchange rates to transform one un ...
分类:
其他好文 时间:
2019-07-20 23:32:38
阅读次数:
99
F - Wormholes 题目链接:https://vjudge.net/contest/66569#problem/F 题目: While exploring his many farms, Farmer John has discovered a number of amazing wormh ...
分类:
其他好文 时间:
2019-07-20 09:57:49
阅读次数:
82
0-1分数规划 定义 我们给定两个数组,a[i]表示选取i的收益,b[i]表示选取i的代价。 如果选取i,定义x[i]=1否则x[i]=0。每个物品只有选和不选的两种方案,求一个选择的方案使得R=sigma(a[i]x[i])/sigma(b[i]x[i]),也就是选择物品的总收益/总代价最大或者最 ...
分类:
其他好文 时间:
2019-07-11 20:17:43
阅读次数:
153