[模板]Dijkstra

1 for(int i=0;i<m-2;i++){
2     for(int j=1;j<=m;j++)if(al[j]==0&&dt[j]<min){min=dt[j];d=j;}
3     min=0x7fffffff;al[d]=1;
4     for(int j=fir[d];j;j=l[j])if(!al[to[j]]&&dt[d]+s[j]<dt[j])dt[j]=dt[d]+s[j];
5 }
View Code

 注意:找最小值的步骤可以堆优化它。

posted @ 2019-07-07 06:08  DeepinC  阅读(82)  评论(0编辑  收藏  举报