最短路模板(持续更新)

最短路题目(持续更新)

\(1.\) \(Silver\) \(Cow\) \(Party\) (需要该篇博文的阅读密码)

非负权单源最短路径

void dijkstra(int s)
{
    memset(dis,0x3f,sizeof(dis));
    memset(vis,0,sizeof(vis));
    priority_queue<pair<int,int> > q;
    dis[s]=0;
    q.push(make_pair(0,s));
    while(!q.empty())
    {
        int x=q.top().second;
        q.pop();
        if(vis[x])
                continue;
        vis[x]=1;
        for(register int i=head[x];i;i=e[i].nxt)
        {
            int y=e[i].ver,w=e[i].w;
            if(dis[y]>dis[x]+w)
            {
                dis[y]=dis[x]+w;
                q.push(make_pair(-dis[y],y));
            }
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/Peter0701/p/11389323.html