floyd这个东西学会了好久了,但是原理总是忘记,或者说没有真正的明白,这里在说一下. 我们要求的是任意的 i,j 之间的最短路径,用动态规划的思想来解决就是f[i,j,k]表示i到j中间节点不超过k的最短路径,那么分两种情况讨论: case1:经过k,如果经过k,很显然f[i,j,k]=f[i,k,k-1]+f[k,j,k-1]; 由动态规划的一些性质可以知道,这样是无后效性的: case2:不经过k,那么很简单,f[i,j,k]=f[i,j,k-1]: 发现这两个方程中至于k-1有关,这样便…