Luogu P1339 热浪Heat Wave
Luogu P1339 热浪Heat Wave
裸·单源最短路。
但是!
有以下坑点:
- 算过复杂度发现Floyd跑不过去就不要用了。
- 如果建边是双向边,边的数组大小要开两倍!
- 考场上如果再把初始化的$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的更多相关文章
- P1339 热浪Heat Wave 洛谷
https://www.luogu.org/problem/show?pid=1339 题目描述 The good folks in Texas are having a heatwave this ...
- 洛谷—— P1339 [USACO09OCT]热浪Heat Wave
P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texas are having a heatwave this summer. Their ...
- luogu P1339 [USACO09OCT]热浪Heat Wave
题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...
- [最短路]P1339 [USACO09OCT]热浪Heat Wave
题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...
- P1339 [USACO09OCT]热浪Heat Wave
我太lj了,所以趁着夜色刷了道最短路的水题....然后,,我炸了. 题目描述: The good folks in Texas are having a heatwave this summer. T ...
- 洛谷 P1339 [USACO09OCT]热浪Heat Wave
题目链接:https://www.luogu.org/problemnew/show/P1339 解题思路: 一道简单的最短路水题,dijkstra解法模板思路:https://www.cnblogs ...
- 洛谷 P1339 [USACO09OCT]热浪Heat Wave (堆优化dijkstra)
题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...
- 洛谷P1339 [USACO09OCT]热浪Heat Wave(最短路)
题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...
- 洛谷 P1339 [USACO09OCT]热浪Heat Wave(dijkstra)
题目链接 https://www.luogu.org/problemnew/show/P1339 最短路 解题思路 dijkstra直接过 注意: 双向边 memset ma数组要在读入之前 AC代码 ...
随机推荐
- TortoiseGit 查看单个文件日志显示全部提交记录了 解决办法
右击文件,Show log.后来在界面上发现,“显示整个工程”的选项.才发现不能勾这个. 去掉勾选,就可以看到单个文件日志了,如果勾选"All Branches"就可以看到该文件在 ...
- php连接mysql8报错如何解决
php版本为5.6,连接mysql8.0时报错,但是连接其他mysql8前的版本是正常的 原因可能是mysql8默认的使用密码认证方式不一样,mysql8.0默认使用caching_sha2_pass ...
- Office Online Server2016搭建与部署(在线编辑)
至少需要两台服务器,一台域控制器,一台部署Office Online Server https://docs.microsoft.com/zh-cn/officeonlineserver/office ...
- NLP理解层次 --- 思维导图
- servlet 读取文件
读取pdf protected void service(HttpServletRequest request, HttpServletResponse response) throws Servle ...
- hashmap源码解析,JDK1.8和1.7的区别
背景:hashmap面试基础必考内容,需要深入了解,并学习其中的相关原理.此处还要明白1.7和1.8不通版本的优化点. Java 8系列之重新认识HashMap Java 8系列之重新认识HashMa ...
- Qt5 QtQuick系列----QtQuick的Secne Graph剖析(2)--自定义QML类型 (继承QQuickItem)
"当下即永恒" --- 佚名 Qt用户可以方便地使用QML中的Rectangle等基本类型,但是当不够用时,或,需要开发更高级的界面时,可以自己定义QML类型. 自定义QML类型 ...
- 【剑指offer】面试题 8. 二叉树的下一个结点
面试题 8. 二叉树的下一个结点 NowCoder 题目描述 给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指 ...
- java笔记2—函数
函数: 1.什么是函数? 函数是定义在类中具有特定功能的一段独立小程序. 函数也称方法. 2.函数的格式: [ 修饰符 ] 返回值类型 函数名(参数类型 形式参数) ...
- Vue框架初识01
摘要 vue简介 vue使用 一.Vue简介: 简介: Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 A ...