模板:Dijkstra

priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pque;
pque.emplace(s, 0);
dis[s] = 0;
while (pque.size()) {
    auto [d, u] = pque.top();
    pque.pop();
    if (vis[u]) continue;
    vis[u] = 1;
    for (int i = hd[u]; i; i = nx[i]) {
        if (vis[v[i]]) continue;
        if (dis[v[i]] > d + w[i]) {
            dis[v[i]] = d + w[i];
            pque.emplace(dis[v[i]], v[i]);
        }
    }
}
posted @ 2026-10-13 20:15  zxqMATT  阅读(5)  评论(0)    收藏  举报