【最短路问题】Til The Cows Come Hone HDU 2387
题意:给一张图,1为起点,n为终点 求有权图单源最短路。
解题思路:dijkstra+堆优化。用优先队列来实现最小堆。新学到了优先队列和pair的用法
优先队列:
priority_queue < P, vector < P >, greater<P > >que;
这样是定义了升序队列。包含在头文件<queue>中。
pair:
定义: 1.定义时初始化:pair<int,int>t(1,2)
2.先定义,后初始化:
pair<int,int>t;
t=make_pair(1,2);
排序时,默认用的first。
代码如下:
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<vector>
#define N 1010
#define inf 0x3f3f3f3f
using namespace std;
int dis[N];
int t, n;
struct edge
{int to;int cost;
};
vector<edge>G[N];
typedef pair<int, int> P;
void dijkstra(int s)
{priority_queue < P, vector < P >, greater<P > >que;fill(dis, dis + n + 1, inf);dis[s] = 0;que.push(P(0, s));while (!que.empty()){P p = que.top();que.pop();int v = p.second;if (dis[v] < p.first)continue;//防止负值圈进入死循环for (int i = 0;i < G[v].size();i++){edge e = G[v][i];if (dis[e.to] > dis[v] + e.cost){dis[e.to] = dis[v] + e.cost;que.push(P(dis[e.to], e.to));}}}
}
int main()
{int a, b, l;scanf("%d %d", &t, &n);for (int i = 0;i < t;i++){scanf("%d%d%d", &a, &b, &l);G[a].push_back({ b,l });G[b].push_back({ a,l });}dijkstra(1);printf("%d\n", dis[n]);return 0;
}
【最短路问题】Til The Cows Come Hone HDU 2387相关推荐
- A - Til the Cows Come Home POJ - 2387
A - Til the Cows Come Home POJ - 2387 最短路 #include<iostream> #include<cstdio> #include&l ...
- DIJSPFA-Til the Cows Come Home POJ - 2387
Til the Cows Come Home POJ - 2387 用dij和spfa写了做个对比,看了一篇很好的文章对这两个算法有了更好的理解**<Dijkstra+heap和SPFA的区别& ...
- Poj 2387 Til the Cows Come Home 迪杰斯特拉(普通+优化)
Til the Cows Come Home 迪杰斯特拉(普通+优化) 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回来. 农场主约翰的田里有n( ...
- POJ 2387 Til the Cows Come Home (最短路径 模版题 三种解法)
原题链接:Til the Cows Come Home 题目大意:有 个点,给出从 点到 点的距离并且 和 是互相可以抵达的,问从 到 的最短距离. 题目分析:这是一道典型的最短路径模版 ...
- Til the Cows Come Home(dijkstra)
题目连接: Til the Cows Come Home 题目: Bessie is out in the field and wants to get back to the barn to get ...
- Til the Cows Come Home(简单的最短路)
Til the Cows Come Home Bessie 在外地,想要在 Farmer John 叫醒她早上挤奶之前回到谷仓尽可能多地睡觉.Bessie 需要她的美容觉,所以她想尽快回来. Farm ...
- Til the Cows Come Home(最短路-Dijkstra)
Til the Cows Come Home(最短路-Dijkstra) judge:https://vjudge.net/contest/297882#problem/A Time limit:10 ...
- POJ 2387 Til the Cows Come Home
传送门:http://poj.org/problem?id=2387 这是最短路径问题,本题有重边,但是spfa能解决这个问题: 实现代码: SPFA: 1 #include <iostream ...
- Til the Cows Come Home (最短路问题, 模板)
题目:https://vjudge.net/problem/POJ-2387 Bessie is out in the field and wants to get back to the barn ...
最新文章
- 使程序在后台执行,并将日志输出至文件
- minicom使用总结
- java反序列化漏洞的一些gadget
- 搜索github项目stars排名
- 游戏用计算机配置表显卡,攒机的知识盲区 以及显卡配置推荐详解
- Android中怎样在工具类中获取Context对象
- 江西计算机一级考试教程,江西省2019年下半年计算机一级考试复习教程:计算机基础及MS Office应用上机指导...
- android l 电池,DIY新技能--M1L换电池
- Integer你真的了解吗,快来瞅瞅吧
- [洪流学堂]Hololens开发高级篇5:空间映射(Spatial mapping)
- 电源噪声(EMI)滤波器的基本原理与应用方法
- ISO14443、15693、18000体系分析
- android screenshot 命令,android 截图,视频录制命令 screencap screenrecord screenshot
- 学自动化测试哪个培训机构好 试听课程后就选了这个地方学习
- coursera—Mini-project #1 - Rock-paper-scissor-lizard-Spock
- python 给文件加密
- 如何在面试中回答 “你最大的缺点是什么?”
- 一行代码深度定制你的专属二维码:(amzqr、MyQR制作动态二维码)
- iis7无法写入配置文件,更换进入方式解决
- 【无标题】大一学生HTML5期末大作业——基于HTML+CSS制作女装商城 6页
热门文章
- 手机端不错的视频图片处理软件
- 网络数据包拦截通用技术
- 2021015979李庚奇实验八
- JavaScript期末复习
- Android获取虚拟导航键的高度
- 大四女生成跨国软件公司亚洲副总裁
- android电视无法打开app,新买的电视无法安装第三方软件?方法汇总来了,解决99%的问题...
- 手撕前端面试题【javascript~ 列表动态渲染、无重复数组、数组排序、新数组、创建数组、深浅拷贝、内存泄露等】
- 瑞萨e2studio(18)----看门狗WDT
- Kylin-Server-V10 ARM64与LoongArch64 PXE无人值守安装