跳到正文
信奥逐课

第 383 课

堆优化 Dijkstra

🟠 进阶 约 10 分钟

一句话理解

堆优化 Dijkstra 用小根堆取最小 dist。

为什么要学

稀疏图。

讲解

允许同一点多次入堆,过期记录跳过。

例子

while (pq.size()) {
    auto [d, u] = pq.top(); pq.pop();
    if (d > dist[u]) continue;
    // relax
}

懒惰删除。

常见错误

练习 做完再看下一课

稀疏图 Dijkstra 用?

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课