floyd
解决问题
- 多源最短路
- 传递闭包
- 最小环
- 恰好经过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

浙公网安备 33010602011771号