专栏文章
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 条评论,欢迎与作者交流。
正在加载评论...