之前的我那个板子,老是卡内存,不知道为什么,我看别人过的那个题都是结构体,我就开始对自己板子做了修改,然后他奶奶的就过了,而且速度也提高了,内存也小了。(自从用了这个板子,隔壁小孩馋哭了)也不知道为啥,但是之前那个少开一个0都超内存,咱也不知道咋回

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
struct Node
{int var,next,val;
} edge[100000005];
int head[100005],tot,dis[100005],N,M;
bool vis[100005];
priority_queue<PII> Q;
void add(int a, int b, int c)
{edge[++tot].var = b;edge[tot].val = c;edge[tot].next = head[a];head[a] = tot;
}
void init()//多组输入调用
{tot=0;memset(head,0,sizeof(head));
}
void dijkstra(int s)
{memset(dis,0x3f,sizeof(dis));//memset(vis,0,sizeof(vis));//while(Q.size()) Q.pop();dis[s] = 0;Q.push(make_pair(0,s));while(!Q.empty()){int x=Q.top().second;Q.pop();if(vis[x])continue;vis[x]=1;for(int i=head[x]; i; i=edge[i].next){int y=edge[i].var;if(dis[x]+edge[i].val<dis[y]){dis[y]=dis[x]+edge[i].val;if(!vis[y])Q.push(make_pair(-dis[y],y));}}}
}
int main()
{int S;scanf("%d %d %d",&N,&M,&S);while(M--){int x,y,z;scanf("%d %d %d",&x,&y,&z);add(x,y,z);}dijkstra(S);for(int i=1; i<=N; i++)printf("%d ",dis[i]);
}

事。

图论--最短路-- Dijkstra模板(目前见到的最好用的)相关推荐

  1. 最短路 dijkstra模板

    最短路 dijkstra模板 #pragma warning(disable:4996) #include<iostream> #include<string> #includ ...

  2. 【阿良的算法之路】图论最短路算法模板

    图论: [阿良的算法之路]图论最短路算法模板 [模板]dirjkstra单源最短路径 [模板]Bellman-Ford多源最短路 [模板]Spfa求最短路 [模板]Spfa判断负环 [模板]Floya ...

  3. 图论-最短路Dijkstra算法详解超详 有图解

    整体来看dij就是从起点开始扩散致整个图的过程,为什么说他稳定呢,是因为他每次迭代,都能得到至少一个结点的最短路.(不像SPFA,玄学复杂度) 但是他的缺点就是不能处理带负权值的边,和代码量稍稍复杂. ...

  4. HDU 2544最短路dijkstra模板题

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  5. 图论 —— 最短路 —— Dijkstra 算法

    [概述] Dijkstra 算法是单源最短路径算法,即计算起点只有一个的情况到其他点的最短路径,其无法处理存在负边权的情况. 其时间复杂度是:O(E+VlogV) [算法分析] 将点分为两类,一类是已 ...

  6. 图论--最短路--SPFA模板(能过题,真没错的模板)

    [ACM常用模板合集] #include<iostream> #include<queue> #include<algorithm> #include<set ...

  7. PAT甲级1131 Subway Map (30分):[C++题解]堆优化dijkstra、单源最短路、地铁地图、巧妙地建图套dijkstra模板!!

    文章目录 题目分析 题目链接 题目分析 原题: 来源:acwing 分析: 建图:所有能走到的点之间建立一条边,比如下面一条地铁线路有4站,它们是相通的,两两之间建一条边,边权是经过的站点数. 下面考 ...

  8. 最短路——【模板】单源最短路径(弱化版)(dijkstra)

    题目链接 最短路--[模板]单源最短路径(弱化版)(dijkstra) 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入格式 第一行包含三个整数 n,m,s,分别表示点 ...

  9. 图论最短路:Bellman-Ford与其优化SPFA算法的一点理解

    文章目录 前言 一.对Bellman-Ford的深入理解 1. Bellman-Ford有什么用? 2. 什么是松弛操作? 3. Bellman-Ford的k次迭代意义? 4. 一个重要定理 5. 对 ...

最新文章

  1. Eclipse和intellij idea 快捷键对比
  2. svn删除用户名及密码
  3. fullbnt matlab,FullBNT学习笔记之一(matlab)
  4. 宁波Uber优步司机奖励政策(12月21日到12月27日)
  5. html定位一个元素,css元素定位
  6. mangos代码阅读
  7. 手机扣费软件大曝光 金山手机卫士帮您免费检测
  8. 初学java--变量、属性、方法命名以及类命名规范
  9. 基于单片机的智能鱼缸控制系统设计
  10. PcShare 2005 源代码
  11. 2020下半年6级高频词汇整理
  12. 面试中单例模式有几种写法
  13. python的most_common()函数
  14. Windows锁机病毒
  15. python实现千牛客服自动回复语_千牛快捷回复短语大全,千牛自动回复语大全
  16. 博学笃志 追求卓越--献给研究生的12条忠告与建议
  17. 30多个HTML5经典动画应用展示
  18. Excel如何设置下拉选项,并应用到整列
  19. 雷军与小米:上扬的微笑与下行的隐忧
  20. 关于720p和1080p观看距离和效果

热门文章

  1. java实现文件加密与解密_Java实现文件的加密解密功能示例
  2. OpenCv调用摄像头拍照代码
  3. 64Ubuntu报错Failed to get the adb version:
  4. 基于jsp邮件收发系统用javamail包
  5. Apache配置(转载)
  6. Exception handling 笔记
  7. js滑动到底部加载更多
  8. oracle c#帮助文档下载,C#使用OracleClient连接Oracle数据库小记
  9. struts2在页面显示网页编辑器发布的内容
  10. excel 双击 计算机,Excel 2016双击文件打开后是空白,再次双击才能打开(或者通过文件,打开才能打开)...