题意:
给了一个无向图(至多700个点,两点间无重边),问其中边数最少的环是所少条边
题解:
这类问题可以用Floyd做..但是会超时...
用BFS的方法,思路就是形成了环,则必然是搜索树上有了前向或者平行边..枚举每个点位根..做BFS..按照遍历的顺序给每个点标号..当找到一个已经标号的边..则知道形成了环..距离为dis[u]+dis[v]-1...但是这种方法只能求这种边权值都为1的最小环...加些条件就很容易出错了..而Floyd的方法适用范围更广...
Program(Floyd,TLE):
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
#include<cmath>
#define oo 1000000007
#define MAXN 505
using namespace std;
int Dist[MAXN][MAXN],Graph[MAXN][MA

该博客探讨了一种使用BFS解决寻找无向图中边数最少的环的问题。虽然Floyd算法也可以解决,但可能会导致超时。通过BFS,可以为每个节点标号并检测形成的环,但这种方法只适用于边权值为1的情况。
247

被折叠的 条评论
为什么被折叠?



