专栏文章

Dijkstra【模板】

算法·理论参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miq9puak
此快照首次捕获于
2025/12/04 01:15
3 个月前
此快照最后确认于
2025/12/04 01:15
3 个月前
查看原文
CPP
priority_queue<pair<int,int> > q; //第一维存相反数,使大根堆变小根堆 
void Dijkstra(){
	for(int i=1;i<=n;i++){
		dis[i]=2147483647;
	}
	dis[st]=0;
	q.push(make_pair(0,st));
	while(!q.empty()){
		int u=q.top().second;
		q.pop();
		if(f[u]){
			continue;
		}
		f[u]=true;
		for(int i=head[u];i!=0;i=nex[i]){
			int v=ver[i],w=edge[i];
			if(dis[v]>dis[u]+w){
				dis[v]=dis[u]+w;
				q.push(make_pair(-dis[v],v));
			}
		}
	}
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...