2013-09-11 09:56 W[I]代表前I天能取得的最小花费,假设在第J天更改一次路线,那么如果有 W[I]>W[J]+第j+1到第I天的最小花费+更改路线的花费(K) 那么更新W[I]: 用最短路求第J+1到I的最短路*(I-J),边界则是W[1]=0; 因为最开始的路线不用更改(就是最初的路线不算在更改的费用中),这个 方程默认第一次的路线就是更改后的,多加了一次K,所以最后输出W[I]-K: //By BLADEVIL var connect :..,..] of longint;…