题意:给一张图,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相关推荐

  1. A - Til the Cows Come Home POJ - 2387

    A - Til the Cows Come Home POJ - 2387 最短路 #include<iostream> #include<cstdio> #include&l ...

  2. DIJSPFA-Til the Cows Come Home POJ - 2387

    Til the Cows Come Home POJ - 2387 用dij和spfa写了做个对比,看了一篇很好的文章对这两个算法有了更好的理解**<Dijkstra+heap和SPFA的区别& ...

  3. Poj 2387 Til the Cows Come Home 迪杰斯特拉(普通+优化)

    Til the Cows Come Home 迪杰斯特拉(普通+优化) 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回来. 农场主约翰的田里有n( ...

  4. POJ 2387 Til the Cows Come Home (最短路径 模版题 三种解法)

    原题链接:Til the Cows Come Home 题目大意:有  个点,给出从  点到  点的距离并且  和  是互相可以抵达的,问从  到  的最短距离. 题目分析:这是一道典型的最短路径模版 ...

  5. 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 ...

  6. Til the Cows Come Home(简单的最短路)

    Til the Cows Come Home Bessie 在外地,想要在 Farmer John 叫醒她早上挤奶之前回到谷仓尽可能多地睡觉.Bessie 需要她的美容觉,所以她想尽快回来. Farm ...

  7. Til the Cows Come Home(最短路-Dijkstra)

    Til the Cows Come Home(最短路-Dijkstra) judge:https://vjudge.net/contest/297882#problem/A Time limit:10 ...

  8. POJ 2387 Til the Cows Come Home

    传送门:http://poj.org/problem?id=2387 这是最短路径问题,本题有重边,但是spfa能解决这个问题: 实现代码: SPFA: 1 #include <iostream ...

  9. 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 ...

最新文章

  1. 使程序在后台执行,并将日志输出至文件
  2. minicom使用总结
  3. java反序列化漏洞的一些gadget
  4. 搜索github项目stars排名
  5. 游戏用计算机配置表显卡,攒机的知识盲区 以及显卡配置推荐详解
  6. Android中怎样在工具类中获取Context对象
  7. 江西计算机一级考试教程,江西省2019年下半年计算机一级考试复习教程:计算机基础及MS Office应用上机指导...
  8. android l 电池,DIY新技能--M1L换电池
  9. Integer你真的了解吗,快来瞅瞅吧
  10. [洪流学堂]Hololens开发高级篇5:空间映射(Spatial mapping)
  11. 电源噪声(EMI)滤波器的基本原理与应用方法
  12. ISO14443、15693、18000体系分析
  13. android screenshot 命令,android 截图,视频录制命令 screencap screenrecord screenshot
  14. 学自动化测试哪个培训机构好 试听课程后就选了这个地方学习
  15. coursera—Mini-project #1 - Rock-paper-scissor-lizard-Spock
  16. python 给文件加密
  17. 如何在面试中回答 “你最大的缺点是什么?”
  18. 一行代码深度定制你的专属二维码:(amzqr、MyQR制作动态二维码)
  19. iis7无法写入配置文件,更换进入方式解决
  20. 【无标题】大一学生HTML5期末大作业——基于HTML+CSS制作女装商城 6页

热门文章

  1. 手机端不错的视频图片处理软件
  2. 网络数据包拦截通用技术
  3. 2021015979李庚奇实验八
  4. JavaScript期末复习
  5. Android获取虚拟导航键的高度
  6. 大四女生成跨国软件公司亚洲副总裁
  7. android电视无法打开app,新买的电视无法安装第三方软件?方法汇总来了,解决99%的问题...
  8. 手撕前端面试题【javascript~ 列表动态渲染、无重复数组、数组排序、新数组、创建数组、深浅拷贝、内存泄露等】
  9. 瑞萨e2studio(18)----看门狗WDT
  10. Kylin-Server-V10 ARM64与LoongArch64 PXE无人值守安装