[BZOJ1579][Usaco2009 Feb]Revamping Trails 道路升级(二维最短路问题)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1579
分析:
设d[i][j]表示从1走到i、改了j条边的最短路径长度
如果设i相连的点为V1,V2,V3,...,Vm
那么d[i][j]=min{ d[Vk][j]+e[Vk][j], d[Vk][j-1] } (1<=k<=m)
于是可以分层求出d[i][0],d[i][1],...
ans=d[n][k]