Luogu P1339 热浪Heat Wave

裸·单源最短路。

但是!

有以下坑点:

  1. 算过复杂度发现Floyd跑不过去就不要用了。
  2. 如果建边是双向边,边的数组大小要开两倍!
  3. 考场上如果再把初始化的$dis[i]=INF$写成$dis[n]=INF$,或者忘记$dis[s]=0$之类的话,就直接火葬场了……
#include<bits/stdc++.h>
#define N 2510
#define M 6210
#define INF 0x3f3f3f3f using namespace std; int n,m,s,e,cnt;
int head[M*2],dis[N]; struct node {
int nxt,to,val;
bool operator < (const node& rhs) const {
return rhs.val<val;
}
}edge[M*2]; struct headnode {
int u,d;
bool operator < (const headnode& rhs) const {
return rhs.d<d;
}
}; void addEdge(int u,int v,int w) {
edge[++cnt]=(node){head[u],v,w};
head[u]=cnt;
return;
} void Read() {
scanf("%d%d%d%d",&n,&m,&s,&e);
for(int i=1;i<=m;i++) {
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
addEdge(u,v,w);
addEdge(v,u,w);
}
return;
} void Init() {
for(int i=1;i<=n;i++) {
dis[i]=INF;
}
dis[s]=0;
return;
} void Dijkstra() {
priority_queue <headnode> q;
q.push((headnode){s,dis[s]});
while(!q.empty()) {
headnode x=q.top();
q.pop();
int u=x.u;
if(x.d<dis[u]) {
continue;
}
for(int i=head[u];i;i=edge[i].nxt) {
int v=edge[i].to,w=edge[i].val;
if(dis[u]+w<dis[v]) {
dis[v]=dis[u]+w;
q.push((headnode){v,dis[v]});
}
}
}
return;
} void Print() {
printf("%d",dis[e]);
return;
} int main()
{
Read();
Init();
Dijkstra();
Print();
return 0;
}

Luogu P1339 热浪Heat Wave的更多相关文章

  1. P1339 热浪Heat Wave 洛谷

    https://www.luogu.org/problem/show?pid=1339 题目描述 The good folks in Texas are having a heatwave this ...

  2. 洛谷—— P1339 [USACO09OCT]热浪Heat Wave

    P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texas are having a heatwave this summer. Their ...

  3. luogu P1339 [USACO09OCT]热浪Heat Wave

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  4. [最短路]P1339 [USACO09OCT]热浪Heat Wave

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  5. P1339 [USACO09OCT]热浪Heat Wave

    我太lj了,所以趁着夜色刷了道最短路的水题....然后,,我炸了. 题目描述: The good folks in Texas are having a heatwave this summer. T ...

  6. 洛谷 P1339 [USACO09OCT]热浪Heat Wave

    题目链接:https://www.luogu.org/problemnew/show/P1339 解题思路: 一道简单的最短路水题,dijkstra解法模板思路:https://www.cnblogs ...

  7. 洛谷 P1339 [USACO09OCT]热浪Heat Wave (堆优化dijkstra)

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  8. 洛谷P1339 [USACO09OCT]热浪Heat Wave(最短路)

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  9. 洛谷 P1339 [USACO09OCT]热浪Heat Wave(dijkstra)

    题目链接 https://www.luogu.org/problemnew/show/P1339 最短路 解题思路 dijkstra直接过 注意: 双向边 memset ma数组要在读入之前 AC代码 ...

随机推荐

  1. [转]Ubuntu18.04下安装搜狗输入法

    鏈接地址:https://blog.csdn.net/lupengCSDN/article/details/80279177

  2. 监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法

    在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的 需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包 ...

  3. TCP/IP学习笔记14--IP地址 之 全局地址,私有地址

    只要明天还在,我就不会悲哀,冬雪终会悄悄融化,春雷定将滚滚而来.----<只要明天还在>,汪国真 全局地址,私有地址 , 一种为解决IP地址不足而产生的技术. 起初 ,互联网中的任何一台主 ...

  4. TemplateDoesNotExist

    路径问题,可能是没有配置这一行:

  5. 【转帖】两年Flink迁移之路:从standalone到on yarn,处理能力提升五倍

    两年Flink迁移之路:从standalone到on yarn,处理能力提升五倍 https://segmentfault.com/a/1190000020209179 flink 1.7k 次阅读 ...

  6. Spring+SpringMVC+MyBatis集成(SSM)

    1.导入需要用到的jar包 <dependencies> <!--Spring核心包--> <dependency> <groupId>org.spri ...

  7. Find the median(线段树+离散化)(2019牛客暑期多校训练营(第七场))

    题目出处:Find the median 示例: 输入: 53 1 4 1 5 92 7 1 8 2 9 输出:3 4 5 4 5 说明:L = [3, 2 ,4, 1, 7],R = [4, 8, ...

  8. TZOJ5697: 数据结构实验:归并排序

    #include<stdio.h> #include<stdlib.h> void merge(int a[], int start,int mid,int end) { )) ...

  9. mongdb基本使用

    mongodb创建用户,设置密码 参考:https://www.jianshu.com/p/237a0c5ad9fa MongoDB内置的数据库角色有: 1. 数据库用户角色:read.readWri ...

  10. golang方法和函数的区别