bzoj的source已經暴露了一切…直接上spfa,對於乙個點記錄到達它時的速度,然後進行轉移,基本上就是乙個分層圖的思路吧。因為要輸出方案,多開乙個陣列記錄就行了。
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=150+10;
const
int maxv=500+10;
int inq[maxn][maxv],n,m,d,out[maxn],tot;
double dis[maxn][maxv];
struct edge
;struct node
go[maxn][maxv];
vector
g[maxn];
queue
q;int main()
); }
for(int i=0;i<=n;i++) for(int j=0;j<=500;j++) dis[i][j]=1000000000;
dis[1][70]=0;inq[1][70]=0;q.push((node));
while(!q.empty())
; if(!inq[np][nv]));}
}}
} double ans=1000000000.00;int hp=d,hv;
for(int i=1;i<=500;i++)
if(dis[d][i]//coutfor(int i=tot;i;i--) printf("%d ",out[i]-1);
printf("%d\n",d-1);
return
0;}
bzoj3245 最快路線
精明的小r每每開車出行總是喜歡走最快路線,而不是最短路線.很明顯,每條道路的限速是小r需要考慮的關鍵問題.不過有一些限速標誌丟失了,於是小r將不知道能開多快.不過有乙個合理的方法是進入這段道路時不改變速度行駛.你的任務就是計算從小r家 0號路口 到d號路口的最快路線.現在你得到了這個城市的地圖,這個...
bzoj3245 最快路線 spfa
精明的小r每每開車出行總是喜歡走最快路線,而不是最短路線.很明顯,每條道路的限速是小r需要考慮的關鍵問題.不過有一些限速標誌丟失了,於是小r將不知道能開多快.不過有乙個合理的方法是進入這段道路時不改變速度行駛.你的任務就是計算從小r家 0號路口 到d號路口的最快路線.現在你得到了這個城市的地圖,這個...
qzezoj 1543 最快路線
題面傳送門 看到這道題,想到spf aspfa spfa 但這道題好像故意的,偏偏又路牌被拆的道路 在衢州的話負責那一段路的交警就該 了 所以我們不能只以d id i di 為tim etime time 的唯一標準。想象一下 如果下一條路是沒有路牌的,而這時過來一條路,tim etime time...