floyd

解决问题

  1. 多源最短路
  2. 传递闭包
  3. 最小环
  4. 恰好经过k条边的最短路(可重复经过)(倍增) //bellman-ford 能求不超过k条边的最短路

d[k][i][j]
表示中间点编号不超过k的i -> j的最短路
实际过程中可省略k这一维

可以用bitset

先用dp思想划分集合成n类
1, 2, ......, n-1, n
其中第i类表示最大节点编号为i的最小环
考虑在floyd过程中求解
先求出表示中间点编号不超过k的i -> j的最短路 再强行经过k构成环 i -> j -> k -> i

posted @ 2025-07-05 12:21  闫柏军  阅读(5)  评论(0)    收藏  举报