题目描述

成都浣花溪公园是一座有着诗歌文化气息的公园,它以杜甫草堂的历史文化内涵为背景,运用现代园林和建筑设计的前沿理论,以自然雅致的景观和建筑凸现川西文化醇厚的历史底蕴,是一座集将自然景观和城市景观、古典园林和现代建筑艺术有机结合的城市公园。

周末,Mr.Zeng和他儿子在浣花溪公园“诗歌大道”上欣赏诗歌,刚诗兴正浓,Mr.Zeng忽然想起汽车的车门没锁,于是他们要在最快的时间内走出公园赶到公园门口停车场。我们把公园的景点用数字标号(从 1 1 1 到 N − 1 N-1 N−1),在两个景点中之间会有道路连接,并且 Mr.Zeng 和他儿子都是素质很高的人,他们不会穿越公园的草坪,只会沿着公园的小路行走。 Mr.Zeng 想知道从他们当前所处的位置 S S S 到公园的出口(标号固定为 N N N)所需要的最短时间。你能帮帮他吗?


输入输出格式

输入格式:

输入文件的第一行有3 个正整数: N N N、 K K K、 T T T 并且用空格隔开,分别表示公园景点数目、公园小路条数,以及他们当前所处的景点编号。

接下来 K K K 行,每行三个整数,表示小路连接的两个景点的编号以及走过这条小路所需要的时间。

输出格式:

输出一个整数,表示他们走出公园所需要的最短时间。


输入输出样例

输入样例#1: 复制

3 2 1
1 2 3
2 3 4

输出样例#1: 复制

7


说明

【数据范围】

对于 60 60 60% 的数据,保证 N &lt; = 1000 N&lt;=1000 N<=1000, K &lt; = 10000 K&lt;=10000 K<=10000。

对于 100 100 100% 的数据,保证 N &lt; = 10000 N&lt;=10000 N<=10000, K &lt; = 100000 K&lt;=100000 K<=100000。

对于 100 100 100% 的数据,保证结果在 2 31 2^{31} 231 内。


题解

1.算法说明

迪杰斯特拉算法(Dijstra)+堆优化求最短路,时间复杂度: O ( N ∗ l o g 2 N ) O(N*log_2N) O(N∗log2​N),是求单源最短路最快的方法。

我才不会告诉你教我计算机的老师就是曾老师呢。。。


2.Code

第一种:

#include<bits/stdc++.h>
using namespace std;int first[10001],f[10001];
int next[200001],v[200001],c[200001];
int p[200000];
int n,k,t,size;
bool exist[10001];void inser(int x,int y,int w)
{size++;next[size]=first[x];first[x]=size;v[size]=y;c[size]=w;
}void init()
{int i,x,y,w;memset(first,0,sizeof(first));scanf("%d%d%d",&n,&k,&t);size=0;for(i=1;i<=k;i++){scanf("%d%d%d",&x,&y,&w);inser(x,y,w);inser(y,x,w);}
}int main()
{init();int i,j,head,tail,u;memset(exist,false,sizeof(exist));fill(f+1,f+n+1,1000000000);f[t]=0;p[1]=t;exist[t]=true;head=0;tail=1;while(head<tail){head++;exist[p[head]]=false;u=first[p[head]];while(u!=0){if(f[p[head]]+c[u]<f[v[u]]){f[v[u]]=f[p[head]]+c[u];if(exist[v[u]]==false){tail++;p[tail]=v[u];exist[v[u]]=true;}}u=next[u];}}printf("%d\n",f[n]);return 0;
}

第二种

正在输入

题解 浣花溪公园【图论基本算法及应用】相关推荐

  1. [复习]Dijkstra+堆/SPFA/Dijkstra+优先队列 浣花溪公园

    题目背景 最短路模板题目.SPFA 或 用堆优化的迪杰斯特拉算法均可实现. 题目描述 成都浣花溪公园是一座有着诗歌文化气息的公园,它以杜甫草堂的历史文化内涵为背景,运用现代园林和建筑设计的前沿理论,以 ...

  2. 浣花溪公园(最短路径模板)

    题目: 成都浣花溪公园是一座有着诗歌文化气息的公园,它以杜甫草堂的历史文化内涵为背景,运用现代园林和建筑设计的前沿理论,以自然雅致的景观和建筑凸现川西文化醇厚的历史底蕴,是一座集将自然景观和城市景观. ...

  3. 图论2-SAT算法详解

    图论2-SAT算法详解 今天我们来介绍一个我个人认为最难的算法,这是为什么呢?肯定会有许多dalao说,不就一个2-SAT,我两分钟就A掉了.然而2-SAT的细节非常的多,稍不注意就会写错,而且测试困 ...

  4. 图论相关算法理解和总结

    晚上学习了一些图论相关算法: 单源最短路径算法: Bellman-Ford 算法: Bellman-Ford 算法是一种用于计算带权有向图中单源最短路径(SSSP:Single-Source Shor ...

  5. POJ3615(Cow Hurdles)图论-Floyd算法JAVA高速IO外挂!

    POJ3615(Cow Hurdles) 图论-Floyd算法JAVA高速IO外挂! package classical_algorithm.graph.FloydWarshall; //http:/ ...

  6. 名帖352 黄庭坚 草书《浣花溪图引》

    <中国书法名帖目录> 黄庭坚,字鲁直,号山谷道人,又号涪翁,洪州分宁(今江西修水)人.他与张耒.晁补之.秦观拜师大文豪苏轼,世人称为"四学士".黄庭坚善文章诗词皆擅,特 ...

  7. 【数模集】 图论常用算法 基础

    图与网络优化概述 图论中所谓的"图"是指某类具体事物和这些事物之间的联系.如果我们用点表示这些具体事物,用连接两点的线段(直的或曲的)表示两个事物的特定的联系,就得到了描述这个&q ...

  8. 0x66.图论 - Tarjan算法与无向图连通性

    目录 一.无向图的割点与桥 割点 桥/割边 时间戳 搜索树 追溯值 二.割边判定法则 三.割点判定法则 1.luogu P3388 [模板]割点(割顶) 2.luogu P3469 [POI2008] ...

  9. CSP认证201509-4 高速公路[C++题解]:强连通分量、tarjan算法模板题

    题目分析 来源:acwing 分析: 所求即为强连通分量的个数,然后计算每个强连通分量中点的个数,相加即可. 所谓强连通分量,它是一个子图,其中任意两点可以相互到达,并且再加一个点,就不能满足任意两点 ...

最新文章

  1. tomcat5.5.9+sql2000数据库连接池配置
  2. how Lordec maps the long reads to DeBruijn Graph
  3. 第104天:web字体图标使用方法
  4. centos 6.5内核升级
  5. oracle 并接去掉字符串,ORACLE删除字符-TRIM字符截取-substr查找字符-instr
  6. .net错误处理机制
  7. mysql增量同步kafka_MySQL数据实时增量同步到Kafka - Flume
  8. 那些我希望在一开始使用 Zsh(oh-my-zsh) 时就知道的
  9. SAP Analytics Cloud和SAP Cloud for Customer的集成
  10. git version是什么软件_Deepin 15.11 安装 ZoneMinder 视频监控软件
  11. idea怎么把代码放到git_在IntelliJ IDEA中同步代码到华为云git仓库 (on windows)
  12. 游戏服务器框架 Leaf/go
  13. npm私服搭建与应用
  14. [C++]operator难点、豆知识
  15. python 执行cmd命令 改变目录_Python 改变当前工作目录
  16. 计算机apk文件无法打开,【电脑怎么打开apk文件】电脑如何打开apk文件_电脑上怎么打开apk-系统城...
  17. VsCode切换语言
  18. 般若波罗蜜多心经(观音心经)注解
  19. 8.高等数学-两个重要的极限定理
  20. java am pm_【am.pm正确时间书写格式】作文写作问答 - 归教作文网

热门文章

  1. 解决 “_pickle.PicklingError: Can‘t pickle: it‘s not the same object as sqlalchemy.orm.session.Session“
  2. 纸质合同和电子合同的区别
  3. 程序设计天梯赛L3-10 (什么逆天盲僧)
  4. java计算机毕业设计无极服装出租管理系统源码+lw文档+系统+数据库
  5. 如何清除电脑缓存?分享3个有效的方法!
  6. Flash:动画实例--球体渐隐渐显
  7. 宁夏破坏计算机信息系统案一审宣判
  8. Android实现倒计时的几种方案
  9. java课程设计五子棋小游戏(1)
  10. 文字超过两行显示省略号