标签:问题 [] ons empty make color ++ int tor
1 //Floyd:(任意两点间的最短路问题) 2 for(int k=0;k<n;k++) 3 for(int i=0;i<n;i++) 4 for(int j=0;j<n;j++) 5 dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]); 6 7 //Dijkstra(无负边时的最短路问题) 8 const int INF=0x3f3f3f3f; 9 const int N=111111; 10 11 vector < pair<int,int> > E[N]; 12 int n,m; 13 int d[N]; 14 15 void init(){ 16 for(int i=0;i<N;i++) d[i]=INF; 17 for(int i=0;i<N;i++) E[i].clear(); 18 } 19 20 void dijkstra(int s,int d[]){ 21 priority_queue <pair<int,int> > Q; 22 d[s]=0; 23 Q.push(make_pair(-d[s],s)); 24 25 while(!Q.empty()){ 26 int now=Q.top().second; 27 Q.pop(); 28 for(int i=0;i<E[now].size();i++){ 29 int v=E[now][i].first; 30 int D=d[now]+E[now][i].second; 31 if(d[v]>D){ 32 d[v]=D; 33 Q.push(make_pair(-d[v],v)); 34 } 35 } 36 } 37 }
标签:问题 [] ons empty make color ++ int tor
原文地址:http://www.cnblogs.com/Leonard-/p/7667423.html