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代码 ...
随机推荐
- 【转帖】处理器史话 | 当Power架构的发展之路遭遇“滑铁卢”
处理器史话 | 当Power架构的发展之路遭遇“滑铁卢” https://www.eefocus.com/mcu-dsp/366740 (8)Power8:决定了 Power 平台的未来发展 2014 ...
- c++ 初始化
1. 内置类型默认初始化 内置类型如果没有被显示初始化,则会被编译器默认初始化.初始化会根据①变量类型的不同②变量类型位置,来决定初始化之后的值.但是内置类型如果在函数体内部,则将不被初始化——也就是 ...
- DjangoRestFramework学习二之序列化组件、视图组件
本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组件 首先按照restful规范咱们创建一些api接口,按照下面这些形式写吧: ...
- configparser 文件加字典操作
import configparser conf=configparser.ConfigParser() #創建一個對象 # f=open('db.ini','w') conf['DEFAULT'] ...
- harbor helm仓库使用
harbor helm仓库使用 官方文档地址:https://github.com/goharbor/harbor Monocular 从1.0 开始专注于helm 的UI展示,对于部署以及维护已经去 ...
- 配置APP的图标
https://www.cnblogs.com/hupo376787/p/10290840.html 上一篇文章说到 Flutter - 自动生成Android & iOS图标 通过flut ...
- kubernetes第五章--创建资源的两种方式
- 敏感词检测、屏蔽设计(iOS & Android)
敏感词检测 服务器端最常使用的算法是DFA算法.如果服务器端使用java实现常规的DFA算法,假若... 源码:https://github.com/qiyer/DFA_Cplusplus
- 移动Web深度剖析
随着前端技术的急速发展,随着互联网行业的日益发展,HTML5作为一种比较新型的开发技术早已经被很多大的企业所应用,通过HTML5语言可以开发适用于任何设备上的酷炫网站页面,所以HTML5的发展趋势可想 ...
- Oracle 11g 服务器结构
Oracle 服务器主要又实例.数据库.程序全局区和前台进程组成. 实例可以进一步划分为系统全局区(SGA)和后台进程(PMON.SMON等)两部分,其中,SGA 使用操作系统的内存资源,而后台进程需 ...