单源最短路
单源最短路
void spfa(){
memset(dis,0x3f,sizeof(dis));
dis[s]=0;
z[top=1]=s;
for(int j=1;j<=top;j++){
int now=z[j];vis[now]=0;
for(int i=head[now];i;i=nxt[i]){
if(dis[to[i]]>dis[now]+w[i]){
dis[to[i]]=dis[now]+w[i];
if(!vis[to[i]]) vis[to[i]]=1,z[++top]=to[i];
}
}
}
}
为什么都在说SPFA会死,但是SPFA确实会在跑一些特别图的时候会很慢
还是尽快掌握,以备不时之需。