什么跟什么就是刘汝佳小白书迪杰斯特拉队列的优先队列法

#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
typedef pair<int,int> pii;
vector<pair<int,int> >g[10010];
bool vis[10010];
int cost[10010];
int dist[10010];
int n,m;
priority_queue<pii,vector<pii>,greater<pii> > q;
void dij()
{for(int i=1;i<=n;i++)dist[i]=INF;dist[1]=0;cost[1]=0;q.push(make_pair(dist[1],1));while(!q.empty()){pii t=q.top();q.pop();int v=t.second;if(vis[v]) continue;vis[v]=1;for(int i=0;i<g[v].size();i++){int u=g[v][i].first;int c=g[v][i].second;if(dist[v]+c<dist[u]){dist[u]=dist[v]+c;cost[u]=c;q.push(make_pair(dist[u],u));}if(dist[v]+c==dist[u]){cost[u]=min(cost[u],c);}}}}
int main()
{int u,v,w;cin>>n>>m;for(int i=0;i<m;i++){cin>>u>>v>>w;g[u].push_back(make_pair(v,w));g[v].push_back(make_pair(u,w));}dij();long long ans=0;for(int i=1;i<=n;i++)ans+=cost[i];cout<<ans<<endl;
}

ccf 交通规划(迪杰斯特拉优先队列模板)相关推荐

  1. 迪杰斯特拉c++模板

    迪杰斯特拉c++模板 迪杰斯特拉c++模板 原理 作用 要使用的数据 代码模板 关于最小路径(不是值) 1003 Emergency 最近要准备PAT的考试了,所以总结一下算法的模板什么的.并且规范一 ...

  2. 18362 寻找Megumi 迪杰斯特拉+优先队列优化

    传送门: OJ 新生赛 2018华山论剑. 题目大意:从点1出发,按次序经过K个点,再走到点n.求最短路径. 解题思路:弗洛伊德算法可能超时,所以用单源最短路径算法,依次求出从1到a1,a1到a2.. ...

  3. prim、迪杰斯特拉与卡鲁斯卡尔算法模板

    prim算法和迪杰斯特拉算法的区别主要是更新dist的方式不同,迪杰斯特拉算法更新距离时比较的是起始点到目标集合的最短距离,而prim算法更新的是未标记集合到已标记集合某点的最短距离. 迪杰斯特拉算法 ...

  4. usaco Sweet Butter(迪杰斯特拉(优先队列优化),bellman_ford算法模板)

    这题开始用没有优化的迪杰斯特拉喜闻乐见的超时了,然后我用bellmanford算法按理说时间复杂度更大但是书上说往往只要很短的时间就可以求出最短路. 所以我用了这个算法但是我对这个算法还是不熟套了模板 ...

  5. MATLAB轻松绘制地图路线——Dijkstra(迪杰斯特拉)算法最短路径规划

    文章目录 1. 地图绘制 2. 计算各节点之间的距离 3. Dijkstra(迪杰斯特拉)算法 4. 根据计算出的距离利用Dijkstra(迪杰斯特拉)算法找出指定节点之间的最短路径 工程文件(可直接 ...

  6. 迪杰斯特拉--- 模板(求最短路径/输出路径/所有路径都可以走的做法)

    迪杰斯特拉--- 模板(求最短路径/输出路径/所有路径都可以走的做法) 1.0版 #include <iostream> using namespace std;const int max ...

  7. LeetCode 1976. 到达目的地的方案数(迪杰斯特拉 Python 优先队列)

    文章目录 1. 题目 2. 解题 1. 题目 你在一个城市里,城市由 n 个路口组成,路口编号为 0 到 n - 1 ,某些路口之间有 双向 道路. 输入保证你可以从任意路口出发到达其他任意路口,且任 ...

  8. 【讲解 + 模板】Dijkstra迪杰斯特拉+堆优化

    Dijkstra迪杰斯特拉+堆优化 众所周知,朴素的迪杰斯特拉的时间复杂度为O(n^2),这在某些题目当中是会超时的.但如果在迪杰斯特拉中枚举每个最短边时加入堆优化,则迪杰斯特拉的效率则会大大提高. ...

  9. 机器人路径规划之迪杰斯特拉算法(二)

    DFS和BFS 说迪杰斯特拉算法之前,先为大家简单介绍两种常见的图论搜索算法,深度优先(DFS),广度优先(BFS). 深度优先 深度优先就是从根节点开始,找到它的第一个子节点 在找到第一个子节点的子 ...

最新文章

  1. 项目管理工作对于产品经理,是杂活吗?
  2. 【深度学习】Tensorboard可视化模型训练过程和Colab使用
  3. C#和Sql Server 2005中时间的最大值和最小值
  4. 2016年第七届蓝桥杯C/C++ A组国赛 —— 第三题:打靶
  5. 【原】Spark中Master源码分析(一)
  6. chrome91 后 SameSite by default cookies 不对外开放 解决方案
  7. (28)状态机概述(第6天)
  8. 马云现身敦煌种梭梭树:蚂蚁森林即将突破1亿棵树
  9. 使用Visual Studio 2017开发Linux程序
  10. 如何利用python实现qq聊天_Python之路 - Socket实现QQ聊天
  11. 《关键对话》思维导图
  12. hp扫描无法选择发送到计算机,HP Officejet Pro 8600打印机无法使用扫描到计算机的功能...
  13. excel 公式 TEXT/INDIRECT/ROW(XX)
  14. 信息学奥赛一本通提高组2085:【21NOIP提高组】棋局
  15. 回收垃圾字符的3种方法
  16. 城市燃气价格体系及计量、计费
  17. facebook有哪些信息_如何让人们不知道您在Facebook上阅读了他们的信息
  18. 单片机c语言中tbb,STM32学习之路入门篇之指令集及cortex——m3的存储系统
  19. spring 事务中先删除再插入后唯一键冲突 delete then insert duplicate key
  20. 2023年Mathorcup高校数学建模挑战赛ABCD题思路资料汇总贴

热门文章

  1. 2022-2028年中国绿冻石行业市场研究及前瞻分析报告
  2. 如何定位并优化慢查询Sql
  3. 2022-2028年中国异戊二烯橡胶产业竞争现状及发展规模预测报告
  4. 【Springboot】日志
  5. NVIDIA Nsight Systems CUDA 跟踪
  6. TensorRT Analysis Report分析报告
  7. 优化汽车仪表板以实现高效渲染
  8. DOM相关内容(课程来源:B站 后盾人)
  9. python 把元组转为列表
  10. android studio 常量表达式错误