图论-Dijkstra最短路
验板子的题:单源最短路
匆忙整理的板子,依稀记得大二下那次 vp 写的巨抽象的最短路
#define PII pair<ll, int>
int head[N], cnt = 0;
struct Edge{
int from, to, nxt;
ll val;
}e[N << 1];
void add(int u, int v, ll w){
e[++cnt].from = u;
e[cnt].to = v;
e[cnt].val = w;
e[cnt].nxt = head[u];
head[u] = cnt;
}
ll dis[N];
bool vis[N];
void dij(int s){
for(int i = 1; i <= n; i++) dis[i] = inf, vis[i] = false;
priority_queue<PII, vector<PII>, greater<PII> > heap;
dis[s] = 0;
heap.push({0LL, s});
while(!heap.empty()){
auto[x, u] = heap.top();
heap.pop();
if(vis[u]) continue;
vis[u] = true;
for(int i = head[u]; i != 0; i = e[i].nxt){
int v = e[i].to;
if(dis[v] > dis[u] + e[i].val){
dis[v] = dis[u] + e[i].val;
heap.push({dis[v], v});
}
}
}
}
注意 PII 要改为 pair<ll, int>, 2024/7/13 上当
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)