请问下spfa的vis数组作用
  • 板块学术版
  • 楼主呆呆的她啊
  • 当前回复18
  • 已保存回复20
  • 发布时间2024/1/6 16:49
  • 上次更新2024/1/6 20:11:50
查看原帖
请问下spfa的vis数组作用
226167
呆呆的她啊楼主2024/1/6 16:49

rt,想问下vis数组不加会不会死循环?

好多最短路用spfa写,我都发现没有这个vis数组,遂提问

bool spfa(){ //判负环
	memset(d,0x3f,sizeof d); 
	memset(vis,0,sizeof vis);
	memset(cnt,0,sizeof cnt);
	queue<int>q; 
	q.push(1);// vis[1]=1; 
      d[1]=0; 
	while(q.size()){
		int u=q.front();q.pop();//vis[u]=0;
		for(auto i:e[u]){
			int v=i.v1;	
			if(d[v]>d[u]+i.w1){
				d[v]=d[u]+i.w1;
				//if(!vis[v])
					q.push(v)//vis[v]=1;
				
			}
		}
	}
	return 0;
}
2024/1/6 16:49
加载中...