【floyd】HDU 1874 畅通project续

之后的题解偏重有用/总结性质,尽量理解算法本身而不是题,时间复杂度什么的也能够放放。

非常久之前做过这个题,当时使用dijkstra做的,关于几个最短路算法,分类的话能够分为下面几种。

1、单源最短路:已知起点(终点),计算从源点到其它各个顶点的最短路径长度。

典型算法:Dijkstra,Bellman-Ford(能够算负的,比較慢),spfa(负权能用,加了松弛操作,速度比較炸天)

2、全局最短路:从一点到还有一点,典型如Floyd,A*启示式算法。

又一次用floyd写一遍:

#include <iomanip>
#include <string.h>
#include <iostream>
using namespace std;const int INF=0x3f3f3f3f;
int map[305][305];
int path[305][305];
bool visited[10005];
int prev[10005];
int waypoint;void clearmap()
{for (int i=0;i<105;i++){for (int j=0;j<105;j++){map[i][j]=INF;}}memset(path,INF,sizeof(path));memset(prev,0,sizeof(prev));memset(visited,0,sizeof(visited));
}void floyd()
{for(int k=0;k<waypoint;k++){for(int i=0;i<waypoint;i++){for(int j=0;j<waypoint;j++){if(map[i][k]!=INF && map[k][j]!=INF){if(map[i][j]>map[i][k]+map[k][j]){map[i][j]=map[i][k]+map[k][j];path[i][j]=path[k][j];}}}}}
}int main()
{int route;while (cin>>waypoint>>route){clearmap();for(int i=0;i<route;i++){int a,b,dis;cin>>a>>b>>dis;if(map[a][b]>dis){map[a][b]=map[b][a]=dis;    }}floyd();int start,end;cin>>start>>end;if(start==end){cout<<0<<endl;}else if(map[start][end]!=INF)cout<<map[start][end]<<endl;elsecout<<"-1"<<endl;}return 0;
}


转载于:https://www.cnblogs.com/hrhguanli/p/3929625.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用python寻找列表中相邻元素之差绝对值为1的所有最长链

一、前言&#xff1a; 今天工作遇到一个问题&#xff0c;根据不同的柜子选取能连接在一起的所有柜子&#xff0c;有可能一组&#xff0c;也有可能几组&#xff1b;把这个问题简单化&#xff0c;就是给你一组列表[2, 1, 3, 4, 5, 7, 9, 8, 12, 13, 14, 15]&#xff0c;得到相邻…

LeetCode 1489. 找到最小生成树里的关键边和伪关键边(并查集+kruskal最小生成树)

文章目录1. 题目2. 解题1. 题目 给你一个 n 个点的带权无向连通图&#xff0c;节点编号为 0 到 n-1 &#xff0c;同时还有一个数组 edges &#xff0c;其中 edges[i] [fromi, toi, weighti] 表示在 fromi 和 toi 节点之间有一条带权无向边。 最小生成树 (MST) 是给定图中边的…

斯特林发动机图纸尺寸_南昌教学模型订做,航空发动机模型_境海模型

首页 > 新闻中心发布时间&#xff1a;2020-11-08 13:57:07 导读&#xff1a;境海模型为您提供南昌教学模型订做,航空发动机模型的相关知识与详情&#xff1a; 曾经的沙盘模型一般只有模型自身&#xff0c;没有现代的视觉作用例如&#xff1a;灯火声音形象等动态的作用。景观…

C# 关于列表List<T>排序总结与整理

一、概述 SortedList 类代表了一系列按照键来排序的键/值对&#xff0c;这些键值对可以通过键和索引来访问。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。 如果您使用索引访问各项&#xff0c;则它是一个动态数组&#xff08;ArrayList&#xff0…

iOS给图片打水印,并将打过水印的图片生成到沙盒中

- (void)WaterImage{ UIImage *bgImage [UIImage imageNamed:"scene"]; // 上下文 : 基于位图(bitmap) , 所有的东西需要绘制到一张新的图片上去 // 1.创建一个基于位图的上下文(开启一个基于位图的上下文) // size : 新图片的尺寸 // opaq…

app inventor离线版_小鸡漫画app手机版下载_小鸡漫画好看的漫画手机版下载

小鸡漫画app手机版&#xff0c;是一款无限量看漫画的阅读软件。小鸡漫画app手机版为喜欢看漫画的用户带来超多好看、热门、经典的漫画集&#xff0c;在这里看漫画没有乱七八糟和漫画无关的东西打扰。小鸡漫画app手机版方便看漫画&#xff0c;让一个人的你不再孤单&#xff0c;午…

LeetCode 963. 最小面积矩形 II

文章目录1. 题目2. 解题1. 题目 给定在 xy 平面上的一组点&#xff0c;确定由这些点组成的任何矩形的最小面积&#xff0c;其中矩形的边不一定平行于 x 轴和 y 轴。 如果没有任何矩形&#xff0c;就返回 0。 示例 1&#xff1a; 输入&#xff1a;[[1,2],[2,1],[1,0],[0,1]…

C#中判断浮点数double/float是否相等

一、float型与零值比较的语句 if(x < -0.000001 && x > 0.000001) // !0 if(x > -0.000001 && x < 0.000001)// 0 二、float型与float型如何判断相等 浮点数的表示是不精确的&#xff0c;不能直接比较两个数是否完全相等&#xff0c;一般都是在…

树的存储结构(树的二叉链表(孩子—兄弟))

// c6-5.h 树的二叉链表(孩子—兄弟)存储结构(见图6.32) typedef struct CSNode {TElemType data;CSNode *firstchild,*nextsibling; }CSNode,*CSTree; 一棵树无论有多少叉&#xff0c;它最多有一个长子和一个排序恰在其下的兄弟。根据这样的定 义&#xff0c;则每个结点的结构…

C# 二维与三维计算多边形面积的方法

1、二维情况下&#xff0c;计算多边形面积 internal static float GetArea(List<Vector2> points) {float area2 0;for (int numPoint 0; numPoint < points.Count - 1; numPoint){MyPoint point points[numPoint];MyPoint nextPoint points[numPoint 1];area2 …

i12蓝牙耳机使用说明书图片_配置强悍、适用于开车、运动的蓝牙耳机Xisem西圣 Ares使用体验...

现在的蓝牙耳机市场五花八门、有降噪的、有高保真音质的、有适用于运动不掉的… … 真有是各出奇招。那么作为消费者应该如何选择呢&#xff1f;前段时间入手一款硬件配置很高、无论是开车&#xff0c;还是运动都适用的蓝牙耳机“Xisem西圣 Ares真无线蓝牙耳机”。包装简介&…

LeetCode 918. 环形子数组的最大和(前缀和+单调队列)

文章目录1. 题目2. 解题1. 题目 给定一个由整数数组 A 表示的环形数组 C&#xff0c;求 C 的非空子数组的最大可能和。 在此处&#xff0c;环形数组意味着数组的末端将会与开头相连呈环状。 &#xff08;形式上&#xff0c;当0 < i < A.length 时 C[i] A[i]&#xff0…

小案例:王者荣耀战力查询系统(免费调用外部接口

一、查询网址&#xff08;点击&#xff09;&#xff1a; 王者战力查询-王者战力排行榜 二、战力查询接口&#xff1a; 接口调用&#xff1a; https://www.jk.cxkf.cc/api_select.php参数&#xff1a; hero&#xff1a;英雄名字 type&#xff1a;qq、wx、ios_qq、ios_wxqq&…

open函数返回-1_4.6 linux的系统调用执行探究(1)

arm64大约支持280个系统调用&#xff0c;我们平时使用的这些系统调用&#xff0c;到底工作原理是什么&#xff0c;调用后又是到哪里实现的呢&#xff0c;这篇文章初步了解下内核系统调用的流程&#xff0c;并告诉跟踪这个流程的方法。废话不多说&#xff0c;如上就是linux的系统…

LeetCode 781. 森林中的兔子(哈希+贪心)

文章目录1. 题目2. 解题1. 题目 森林中&#xff0c;每个兔子都有颜色。 其中一些兔子&#xff08;可能是全部&#xff09;告诉你还有多少其他的兔子和自己有相同的颜色。 我们将这些回答放在 answers 数组里。 返回森林中兔子的最少数量。 示例: 输入: answers [1, 1, 2] 输…

4*4矩阵转换成二维平面坐标

一、需求&#xff1a;基于苹果数据4*4矩阵数据&#xff0c;转换成二维平面坐标系 二、解决方法与步骤&#xff1a; 用到的方法&#xff1a; 1、Matrix4的转化_Catirl的博客-CSDN博客 2、平面内直角坐标系中坐标旋转变换公式_Eric_Wangyz的博客-CSDN博客_坐标旋转变换公式 …

C#操作Excel(1)Excel对象模型

Excel对象模型 &#xff08;.Net Perspective&#xff09; 本文主要针对在Visual Studio中使用C# 开发关于Excel的应用程序 本文的PDF下载地址&#xff1a;C#操作Excel2007.pdf 来源&#xff1a;Understandingthe Excel Object Model from a .NET Developers Perspective Exce…

蓝牙适配器 能同时接多少个设备_便携音箱也能有立体环绕声,JVC智能蓝牙颈挂音箱体验...

说起音箱&#xff0c;相信音乐爱好者是很熟悉了&#xff0c;而随着蓝牙技术的不断发展&#xff0c;便携式蓝牙音箱开始受到越来越多用户的喜爱&#xff0c;它能够让我们摆脱线材束缚&#xff0c;随时随地畅享音乐。虽然便携式蓝牙音箱小巧易携带&#xff0c;音质方面也在不断提…

LeetCode 1156. 单字符重复子串的最大长度

文章目录1. 题目2. 解题1. 题目 如果字符串中的所有字符都相同&#xff0c;那么这个字符串是单字符重复的字符串。 给你一个字符串 text&#xff0c;你只能交换其中两个字符一次或者什么都不做&#xff0c;然后得到一些单字符重复的子串。 返回其中最长的子串的长度。 示例 …

☆☆在Eclipse中编译NDK的so文件(普通安卓项目转换为NDK项目的设定)

1 将Native的编译链接配置加入项目中 2 进行编译 3 项目支持Native后&#xff0c;在首尾分别新增了两个编译过程 转载于:https://www.cnblogs.com/YangBinChina/p/3937287.html