2026萌新联赛第三场(郑州轻工业大学)(F魔法传送门)Dijkstra算法(图的最短路径)迪杰斯特拉算法

发布时间:2026/10/7 15:08:20

2026萌新联赛第三场(郑州轻工业大学)(F魔法传送门)Dijkstra算法(图的最短路径)迪杰斯特拉算法 Dijkstra算法(图的最短路径)初始 起点adista0其余∞第1轮 选b(2)更新c3、d5集合{a,b}第2轮 选c(3)更新e7、f4集合{a,b,c}第3轮 选f(4)无更新集合{a,b,c,f}第4轮 选d(5)更新e6集合{a,b,c,f,d}第5轮 选e(6)无更新全节点完结 最终最短距离 b2c3d5e6f4时间复杂度堆优化版:O(mlogn) --用优先队列快速取出距离最小的节点适合稀疏图暴力版:O(n*n) --适合节点少的稠密图适用范围求解单源最短路径(一个起点到其余的节点)硬性要求:所有边权0(存在负边权用SPFA)核心思想dist[i]:起点到节点i的已知最短距离初始化除了起点外全部设为无穷大用小根堆每次取出当前距离最小的未确定的节点对该节点所有邻边做松弛:若dist[v]dist[u]w 就更新dist[v]并堆入堆vis[i]标记节点最短路径已确定避免后续重复n:节点总数m:边总数数组作用g[]邻接表存图稀疏图首选比邻接矩阵省空间dist[]动态维护起点到每个节点的最短距离vis[]标记节点是否拿到最终最短路避免重复计算分层 Dijkstra最多 k 次免费 / 减半边权路径回溯新增pre[]数组存前驱节点反向还原路线多起点最短路初始把所有起点同时入堆即可[P4779 【模板】单源最短路径标准版 - 洛谷][(https://www.luogu.com.cn/problem/P4779)#includebits/stdc.h #define ll long long #define endl \n #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); #define ull unsigned long long #define fi first #define se second #define PLL pairll, ll #define YES coutYESendl; #define NO coutNOendl; using namespace std; const ll INF1e15; const ll MAXN100005; vectorPLLg[MAXN]; //邻接表:g[u]{v,边权w} ll dist[MAXN];//最短距离 bool vis[MAXN]; void dijkstra(ll start,ll n) { for(ll i1;in;i) { dist[i]INF; } // memset(vis,0,sizeof(vis)); dist[start]0; priority_queuePLL,vectorPLL,greaterPLLq; q.push({0,start}); //{距离节点编号}初始状态传入 while(!q.empty()) { PLL curq.top(); ll dcur.fi; ll ucur.se; q.pop(); if(ddist[u]) { continue; } for(auto edge:g[u]) { ll vedge.fi; ll wedge.se; if(dist[v]dw) { dist[v]dw; q.push({dist[v],v}); } } } } int main() { IOS ll n,m,s; cinnms; for(ll i1;iMAXN;i) { g[i].clear(); } for(ll i1;im;i) { ll u,v,w; cinuvw; g[u].emplace_back(v,w);//有向图 // g[v].emplace_back(u,w); //无向图 } dijkstra(s,n); for(ll i1;in;i) { if(i!n) { coutdist[i] ; } else { coutdist[i]; } } coutendl; // coutfixedsetprecision(x) ; return 0; }F-魔法传送门_河南萌新联赛2026第三场郑州轻工业大学核心:将用多少次魔法加入状态中两种转移遍历 u 的每条边 u‑v边权 w假设现在状态在 u已用 j 次魔法当前距离 d转移 1不使用魔法留在同一层老老实实付边权 w 走到 v魔法次数不变。dis[v][j] d w 如果满足更新把 (dw , v , j) 丢进优先队列。转移 2使用本次魔法跳到下一层仅当 jk这条边直接免费不需要加 w魔法次数 1(j1)。dis[v][j1] d 如果满足更新把 (d , v , j1) 丢进优先队列。只有 jk 才能做这个转移不能超过允许的 k 次#includebits/stdc.h #define ll long long #define endl \n #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); #define ull unsigned long long #define fi first #define se second #define PLL pairll, ll #define YES coutYESendl; #define NO coutNOendl; using namespace std; typedef pairll,pairll,llP; const ll INF1e18; const ll MAXN100005; using namespace std; ll n,m,k; vectorPLLg[1005]; ll dis[1005][15];//距离魔法 int main() { IOS cinnmk; for(ll i1;im;i) { ll u,v,w; cinuvw; g[u].emplace_back(v,w); g[v].emplace_back(u,w); } for(ll i1;in;i) { for(ll j0;jk;j) { dis[i][j]INF; } } dis[1][0]0; priority_queueP,vectorP,greaterPq; q.push({0,{1,0}}); while(!q.empty()) { auto nowq.top(); q.pop(); ll dnow.fi; ll unow.se.fi; ll usednow.se.se; if(ddis[u][used]) { continue; } for(auto edge :g[u]) { ll vedge.fi; ll wedge.se; if(dis[v][used]dw) { dis[v][used]dw; q.push({dis[v][used],{v,used}}); } if(usedkdis[v][used1]d) { dis[v][used1]d; q.push({dis[v][used1],{v,used1}}); } } } ll ansINF; for(ll j0;jk;j) { ansmin(ans,dis[n][j]); } coutansendl; // coutfixedsetprecision(x) ; return 0; }
延伸阅读

更多相关文章

2026/10/6 17:35:53

AI自动化办公实战:基于Harness、Workbuddy与Codex构建智能工作流

在实际工作中,重复性的文档处理、数据整理、信息查询和跨系统操作占据了大量时间。Harness、Workbuddy 和 Codex 这类 AI 工具的出现,为自动化办公提供了新的思路。它们并非简单的脚本工具,而是通过理解自然语言指令,直接操作软件…

2026/10/4 18:16:54

“工业原生”这四个字,正在被越来越多人抢

2026年6月29日,优艾智合在上海发布工业具身智能大模型"FabriX",同步推出"工业原生人形机器人"隙锋——注意这个词:工业原生。不到一个月后的7月24日,SeptMind在上海中心发布工业物理AI平台,创始人…

2026/10/4 18:22:24

二乙二醇丁醚 DB 供应商该如何筛选?

二乙二醇丁醚 DB,俗称大防白水,是醇醚体系内应用十分广泛的高沸点溶剂,依靠优秀的偶联性、慢挥发特性,大量用于工业涂料、丝印油墨、PCB 线路板油墨、金属清洗、水性体系调配等领域。随着下游制造业对原料稳定性要求持续提升&…

2026/10/7 15:06:35

Spring Boot+Vue人事档案管理系统实战指南

简介:这是一套面向计算机专业本科生的毕业设计级人事档案管理系统实战项目,聚焦Spring Boot后端与Vue前端协同开发,解决中小型企业员工信息数字化管理痛点,适用于课程设计、期末大作业及Java全栈入门实践。资源包共242个文件&…

2026/10/7 15:06:35

律师个人 IP GEO 实操:让 AI 在当事人咨询时引用你的专业观点

1. 法律服务 GEO 合规前提:不承诺胜诉、不虚假承诺案件结果法律服务行业做 GEO(生成式引擎优化)与普通行业有本质区别:律师输出的内容直接关系到当事人的重大利益,也受到《律师法》《广告法》以及律师执业规范的严格约…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑