main
黄海 2 years ago
parent 7239d0a40a
commit f5ec0fc85a

@ -17,6 +17,16 @@ void floyd() {
}
```
### 三、最短路+思维
#### [$AcWing$ $1125$ 牛的旅行](https://www.cnblogs.com/littlehb/p/16025700.html)
总结:
- 一遍$floyd$算出原始各连通块内的多源最短路径
- 遍历枚举找出每个点在自己连通块中可以到达的最远距离,$PK$后获取到原始的最大直径长度
- 遍历所有可能连接上的两个不在同一连通块中的点,尝试连接上这两个点后,得到可以获得到的最小直径。
- 原始直径与遍历尝试的所有可能直径$PK$,谁大谁是答案。
### 三、判负环
眼尖的人儿可能发现邻接矩阵 $g$ 中, $g[i][i]$并没有赋初值$0$,而是 $inf$。并且计算后 $g[i][i]$的值也不是 $0$,而是 $g[i][i]=g[i][u]+……+g[v][i]$,即从外面绕一圈回来的最短路径,而这正 **用于判断负圈**,即 $g[i][i]<0$。

Loading…
Cancel
Save