随笔分类 - 图论 - spfa
摘要:题目大意:给定一个 N 个点,M 条边的有向图,点有点权,边有边权,求该有向图中的一个环,使得环上点权和与环上边权和之比最大。 题解:0/1 分数规划思想,每次二分一个 mid,在新图上跑 spfa,将问题转化成是否存在负环即可。 代码如下
阅读全文
摘要:存在负环,即:执行 spfa 算法时,一个点被更新了 N 次或 N 次以上,那么一定存在负环。由于无向图任意两点间的简单路径经过的边数均小于 N,且 B F 算法在第 i 轮迭代结束时可以求得经过不超过 i 条边得到的单源最短路。因此, 在 N 1 次迭代时一定可以将所有点的最短路均求出。 更高效率
阅读全文
摘要:题目大意:求给定的一张无向带权图的次短路。 题解:先跑一遍 spfa 求出从起点到终点的最短路,记录路径。接着枚举删边,并重新跑 spfa,统计最小值即可。 至于为什么 dp 做法不行,暂时还不清楚。 代码如下
阅读全文
摘要:代码如下 cpp include using namespace std; const int maxv=1e4+10; const int maxe=5e5+10; const int inf=0x3f3f3f3f; inline int read(){ int x=0,f=1;char ch;
阅读全文

浙公网安备 33010602011771号