dijkstra模板
dijkstra最短路
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| priority_queue<pii,vector<pii>,greater<pii> >q; for(int i=0;i<2*N+10;i++)dis[i]=inf; dis[st]=0; q.push(pii(0,st)); while(!q.empty()){ pii u=q.top(); q.pop(); int x=u.se,sum=u.fi; if(sum>dis[x])continue; for(auto v:t[x]){ int y=v.fi,z=v.se; if(dis[y]>sum+z){ dis[y]=sum+z; q.push(pii(dis[y],y)); } } }
|