设(f_{k,i,j})表示从(i o j)经过编号不超过(k)((i,j)编号可以超过(k))的节点的最短路。
转移方程有两种。
1.(f_{k,i,j}=min(f_{k-1,i,j})),意义是(i o j)不经过(k)。
2.(f_{k,i,j}=min(f_{k-1,i,k}+f_{k-1,k,j})),意义是(i o j)经过(k)。
时间/空间复杂度(O(n^3))
事实上,如果把第一维滚动掉,空间就优化到(O(n^2))
设(f_{k,i,j})表示从(i o j)经过编号不超过(k)((i,j)编号可以超过(k))的节点的最短路。
转移方程有两种。
1.(f_{k,i,j}=min(f_{k-1,i,j})),意义是(i o j)不经过(k)。
2.(f_{k,i,j}=min(f_{k-1,i,k}+f_{k-1,k,j})),意义是(i o j)经过(k)。
时间/空间复杂度(O(n^3))
事实上,如果把第一维滚动掉,空间就优化到(O(n^2))