对应题目Candies POJ - 3159,此题卡时间很紧,于是各种优化…
dijkstra+快读+链式前向星+最小堆

#include<map>
#include<set>
#include<cmath>
#include<stack>
#include<queue>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<iomanip>
#include<sstream>
#include<iostream>
#include<algorithm>
#define INF 0x3f3f3f3f
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define ll __int64
//#define int ll
//typedef  long long ll;
typedef unsigned long long ull;
const int MAXN=1e6+10;
const int MOD=1e9+7;
const double eps=1e-6;
const double finf=1e10;
using namespace std;
template<class T>inline void read(T &res)
{char c;T flag=1;while((c=getchar())<'0'||c>'9')if(c=='-')flag=-1;res=c-'0';while((c=getchar())>='0'&&c<='9')res=res*10+c-'0';res*=flag;
}
//-------------------------------------------//
struct node
{int u,d;node(int v,int d):u(v),d(d){}bool operator<(const node&a)const{return d>a.d;}
};
struct edges
{int to,next,dis;
}E[MAXN*5];
int d[MAXN],vis[MAXN],head[MAXN];
int n,m;
void dijkstra(int s)
{priority_queue<node> q;d[s]=0;q.push(node(s,0));while(!q.empty()){node cur=q.top();q.pop();int u=cur.u;if(vis[u])continue;vis[u]=1;for(int i=head[u];~i;i=E[i].next){edges& e=E[i];if(d[u]+e.dis<d[e.to]){d[e.to]=d[u]+e.dis;q.push(node(e.to,d[e.to]));}}}
}
void init()
{// E.clear();for(int i=0;i<=n;++i){//g[i].clear();d[i]=INF;head[i]=-1;//vis[i]=0;}
}
int cnt;
void addedge(int u,int v,int d)
{E[cnt].dis=d;E[cnt].to=v;E[cnt].next=head[u];head[u]=cnt++;
}
int main()
{int x,t=1;while(t--){read(n);read(m);init();int u,v,val;for(int i=1;i<=m;++i){read(u);read(v);read(val);addedge(u,v,val);}dijkstra(1);printf("%d\n",d[n]);}return 0;
}

dijkstra模板(fast)相关推荐

  1. P4779 【模板】单源最短路径(标准版)(dijkstra模板)

    dijkstra模板 输入: 4 6 1 1 2 2 2 3 2 2 4 1 1 3 5 3 4 3 1 4 4 输出: 0 2 4 3 堆优化版本 #include<bits/stdc++.h ...

  2. Dijkstra模板(java)

    Dijkstra模板 再求单源最短路径时候,经常会用到Dijkstra算法,在某些数据量小的情况下bfs或者dfs或许可以得到结果,但是一旦结果大的时候常规搜索就很难在规定时间内得到答案. Dijks ...

  3. 【dijkstra模板】旅游规划 (25 分)

    立志用最少的代码做最高效的表达 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条 ...

  4. 最短路 dijkstra模板

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

  5. Dijkstra模板

    Dijkstra是求最短路径,从未选过点中找最短的一条路,然后更新其他点到起点的距离.例如选择的最短点为k,则dj[k]表示起点到k之间的距离,此时更新其他点到起点的距离,dj[j] = min(dj ...

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

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

  7. vector邻接表建图+dijkstra模板

    本文节点的编号从0开始计算 思路 dijkstra伪算法(未优化)源点到自己的距离为0,其余点到源点的距离为无穷大 记录当前节点now为源点s 循环下面的步骤V次,V是结点的个数now标记已访问遍历n ...

  8. 城市间紧急救援 (25 分)【dijkstra模板 超时原因】

    立志用最少的代码做最高效的表达 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道路长度 ...

  9. 图论--最短路-- Dijkstra模板(目前见到的最好用的)

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

  10. HDU 2544最短路dijkstra模板题

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

最新文章

  1. 2021年华为与小康-北汽-长安
  2. 前端性能优化之DOM(三)
  3. easyui combo自动高度(下拉框空白问题)
  4. 验证redis的主从复制
  5. IIS网站的权限设置问题
  6. 太厉害了!3小时34分!53岁院士施一公完成人生首马
  7. Java实现多线程售票
  8. 作者:胡卫生(1964-),男,博士,上海交通大学教授、博士生导师,主要研究方向为下一代光接入网、光交换、光网络等。...
  9. (75)Xilinx Slice组成结构有哪些?
  10. php header什么意思,php header的用法是什么
  11. c#二叉树 取叶子节点个数_「leetcode」222.完全二叉树的节点个数
  12. 计算机科学与导论知识点总结,计算机科学导论复习资料整理.doc
  13. 直播开篇——直播场景和技术分析
  14. 微信开发者文档学习笔记(一)
  15. 文件服务器 标签,别再「新建文件夹」了,这个标签管理器可以让你的硬盘更整洁...
  16. 什么是0day漏洞?如何预防0day攻击?
  17. 敏捷管理 -- 时间和成本管理
  18. Android平板电脑通过WIFI传送文件,无需数据线,无需ROOT权限
  19. Node.js Buffer
  20. 保险费率软件测试题目,软件测试保险等价类法测试用例

热门文章

  1. 矩阵 向量 线性变换 基变换
  2. 南理工计算机学院宋杰,周骏 - 计算机与信息科学学院 - Powered by 西南大学
  3. 复联3观影指南丨漫威宇宙里的AI黑科技
  4. 《老子五千言》 ——《道德经》帛书版(珍藏原著)
  5. select2.js插件支持拼音搜索(最新版-4.0.6)
  6. mpu6050 z轴校准_MPU6050校准
  7. 电脑端实现微信双开(登录两个微信)
  8. 空间直线与平面的交点
  9. 杨辉三角相关性质以及组合数
  10. 如何免费将一个PDF拆分成多个文件?