最短路模板
dij:
#define rep(i,h,t) for (int i=h;i<=t;i++)
const int N=1e4; struct re{ int a,b,c; bool operator <(const re x) const{ return b>x.b; } }a[N]; int n,m; vector<re> ve[N]; bool vis[N]; int dis[N]; priority_queue<re> Q; int solve() { rep(i,1,n) ve[i].clear(); rep(i,1,m) { ve[a[i].a].push_back({a[i].b,a[i].c}); ve[a[i].b].push_back({a[i].a,a[i].c}); } rep(i,1,n) dis[i]=1e9,vis[i]=0; Q.push({1,0}); dis[1]=0; while (!Q.empty()) { int x=Q.top().a; Q.pop(); if (vis[x]) continue; vis[x]=1; for (auto v:ve[x]) { if (dis[v.a]>dis[x]+v.b) { dis[v.a]=dis[x]+v.b; Q.push({v.a,dis[v.a]}); } } } return dis[n]; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
2019-02-07 C. mathematican 的二进制