From f5ec0fc85af935f783fb21c2d2c3d9b6b302ef41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 5 Jan 2024 15:24:10 +0800 Subject: [PATCH] 'commit' --- TangDou/Topic/【Floyd专题】.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/TangDou/Topic/【Floyd专题】.md b/TangDou/Topic/【Floyd专题】.md index 2843186..9c9ec72 100644 --- a/TangDou/Topic/【Floyd专题】.md +++ b/TangDou/Topic/【Floyd专题】.md @@ -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$。