250 简单题
// BEGIN CUT HERE
// END CUT HERE
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
500 简单题 ,期望
// BEGIN CUT HERE
// END CUT HERE
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
1000
首先用floyd处理任意两点之间的最短距离
设f[i][k] 表示从k移动到N 使用了i次tricks所使用的最小耗费
针对每次使用tricks的一条边 u=s[i], v=t[i] , w=weight[i]
f[i+1][k]=min(f[i][k],f[i+1][k],dist[k][u]-w+f[i][v]) 其中注意f[i][k]代表放弃使用第i+1次trick
再不是用tricks的时候任意两个点的最短距离等于floyd处理的矩阵,而当使用k次tricks时,最短距离使用上一行的递推式进行递推。
// BEGIN CUT HERE
// END CUT HERE
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include