最短路默写

最短路问题(五个算法模板) 题目给定一个有向图,图中有 𝑛n 个点和 𝑚m 条边。图中可能存在重边和自环,所有边权均为正值。请你求出从 1 号点到 𝑛n 号点的最短距离。如果无法从 1 号点走到 𝑛n 号点,则输出 -1。 阅读详情

最短路默写

Time Limit:10000MS  Memory Limit:65536K
Case Time Limit:1000MS

Description

有一无负权有向图。求指定两点间的最短路径。 

Input

输入:第一行,两个数字n和m,表示n个顶点,m条边 
接下来的m行,每行三个整数,分别表示边的起点、终点和边的长度 
最后一行 两个整数 x y 表示求从点x到点y的最短路径 

Output

输出:一行,一个整数,最短路径长度 

Sample Input

3  3
1  2  5
1  3  2
3  2  1
1  2

Sample Output

3

Hint

注:所有数据都不超过100 

Source


spfa做法

#include<cstdio>
#include<queue>
using namespace std;
#define maxn 201
#define inf 100000000
queue<int>q;
int dis[maxn], cnt[maxn], n, m, map[maxn][maxn], ax, ay;
bool f[maxn], havefu;
void spfa(int start)
{
	int i, x;
	havefu=false;
	for(i=1; i<=n; i++)
	{
		dis[i]=inf;
		cnt[i]=0;
	}
	q.push(start);
	f[start]=true;
	dis[start]=0;
	cnt[start]=1;
	while(!q.empty())
	{
		x=q.front();
		q.pop();
		f[x]=false;
		for(i=1; i<=n; i++)
		{
			if(dis[x]+map[x][i]<dis[i])
			{
				dis[i]=dis[x]+map[x][i];
				if(f[i]==false)
				{
					q.push(i);
					f[i]=true;
					cnt[i]++;
					if(cnt[i]==n){	havefu=true;return;}
				}
			}
		}
	}
}
void _init()
{
	int x, y, w;
	scanf("%d%d", &n, &m);
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			map[i][j]=inf;
		}
		map[i][i]=0;
	}

	for(int i=1; i<=m; i++)
	{
		scanf("%d%d%d", &x, &y, &w);
		map[x][y]=w;
	}
	scanf("%d%d", &ax, &ay);
}
void _solve()
{
	spfa(ax);
	printf("%d", dis[ay]);
}
int main()
{
	_init();
	_solve();
	return 0;
}


迪杰斯特拉算法求任意两点间最短路径 无向图 可以计算任意两个指定点之间最短距离 无向图 节点编号为0到nodenum-1 节点容量可以自己修改 起点和终点任意 只要不超过以上范围 立即下载

相关推荐

图论算法-求(有向)图中任意两点间所有路径

图论算法-求(有向)图中任意两点间所有路径

图论——基础【最短路默写】NKOJ P1120

最短路默写 NKOJ P1120

whr5408的博客 229

分享一下使用Xilinx FPGA驱动MIPI DSI LCD屏的心路历程

分享一下调试用Xilinx FPGA驱动MIPI DSI LCD屏的心路历程,看到的朋友们,可以避免继续踩坑。

haoxingheng的专栏 5014

图结构练习——最短路径

Problem Description 给定一个带权无向图,求节点1到节点n的最短路径。 Input 输入包含多组数据,格式如下。 第一行包括两个整数n m,代表节点个数和边的个数。(n<=100) 剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。 Output 每组输出占一行,仅输出从1到n的最短路径权值。(保证最短路径存在) Sample Input 3 2 ...

weixin_44020969的博客 283

避坑指南:处理A股通达信分时数据转日K线时,你可能会遇到的3个时间戳问题

本文针对量化交易中处理A股通达信分时数据转日K线时的常见时间戳问题,提供了专业解决方案。重点解析了午休时段处理、Pandas重采样参数设置及CSV读取时的日期解析陷阱,帮助开发者避免数据预处理错误,提升策略回测准确性。适用于Python量化交易开发者。

weixin_42549496的博客 288

人工智能训练师技能等级认定四级技能考核试卷-样题1

本文为人工智能训练师四级技能考核试卷,包含六个实操考核项目,总分100分,考试时间150分钟。试卷涵盖数据处理、模型训练准备及系统维护等核心技能:1)垃圾分类数据集规范与处理(30分),要求评估数据格式并编写Python处理代码;2)学生成绩数据集分析(20分),涉及数据预处理、可视化及相关性分析;3)数据标注审核(10分),重点审核标注准确性;4)智能数据服务系统维护与优化(40分),包括安全帽数据集的项目创建、数据处理及平台协作。考核强调Python编程、数据处理平台操作及AI工作流程的实践能力。

weixin_42221934的博客 440

2023-04-08 无向有权图之最短路径问题

初始化distances[start]=0,其余distance值为+∞对所有的边进行第1次松弛操作,则求出了到所有点经过的边数最多为1的最短路对所有的边进行第2次松弛操作,则求出了到所有点经过的边数最多为2的最短路对所有的边进行第3次松弛操作,则求出了到所有点经过的边数最多为3的最短路对所有的边进行第v-1次松弛操作,则求出了到所有点经过的边数最多为v-1的最短路如果对所有边再进行一次松弛操作,还能更新最小路径的值数组distances,则说明图中包含负权环。

lsgwr的博客 2197

[Pytorch案例实践001]手写MNIST数字识别

Pytorch实现手写数字识别,带完整数据集。

2403_83044722的博客 1115

最短路径算法

前言 本篇文章我将向大家介绍求解最短路径的三种经典算法——Dijkstra 算法,Bellman-Ford 算法以及 Floyd-Warshall 算法。 Dijkstra 算法 最短路径 最短路径问题是图论研究领域中的一个经典算法问题,旨在寻找图中两节点之间的最短路径。 譬如上图为一个无向有权图,节点 0 到节点 3 的最短路径为 : 0 -> 2 -> 1 -> 3 其路径长度为:5。 研究最短路径算法具有哪些意义呢?或者说最短路径算法可以解决哪些问题? 我们知道,在生活中,地铁

qq_39749300的博客 7694

uCOS中的消息邮箱(:task与task之间传递一个数据(数据缓冲区))

程序需求,需要完成task与task之间  字符数组的数据传输 比如:在ucos中,串口2接收的字符数组是不定时的&不定长的;只有当接收到数据的时候_才将数据赋值给新数组 具体的程序示意如下: 图1:消息邮箱测试中的     向消息邮箱发送消息(OSMboxPost(Str_Box,(void*)rec);//发送消息--(向 消息邮箱_msg_key发送消息) ),实际项目需求的

faguoduifangui的博客 4540

从权限对象到业务角色:把 SAP Authorization Object 讲清楚,并用 ABAP 写对一次 AUTHORITY-CHECK

摘要:SAP权限管理的核心在于Authorization Object(授权对象),它通过组合最多10个授权字段来精确控制用户访问权限。关键要点包括:1) 授权对象与ACTVT字段(如01创建/02修改/03显示)的配合使用;2) ABAP中AUTHORITY-CHECK语句的四种常见返回码(0通过/4字段不匹配/12无权限/40无效用户);3) 系统自动执行的S_TCODE事务码检查;4) 自定义授权对象时应遵循"最少且足够"原则,优先复用标准对象。在RAP和OData场景中,权限检查

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 261

数据结构笔记_最短路径(有向图,无向图)

一. 最短路径问题 对无权图来说,进行广度优先遍历的过程,其实就求出了从一个节点开始到它所有可到达节点的最短路径 对无权图进行广度优先遍历,最终会形成一棵生成树,称为最短路径树(相当于有权图中的最小生成树),即解决了无权图单源最短路径问题(求从一个节点到其它所有可到达节点的最短路径) 有权图的最短路径问题,核心思想为“松弛操作(Relaxation)”, 即判断中间经过另一个节点到达某节点...

coding 9200

手把手教你完成YOLOv10 PySide6目标检测界面搭建,使用Qt6设计YOLOv10检测系统,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

手把手教你完成YOLOv10 PySide6目标检测界面搭建,使用Qt6设计YOLOv10检测系统,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1732

最短路默写1最短路默写2

有一无负权有向图。求指定两点间的最短路径。

weixin_61058873的博客 509

YOLO11涨点优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测

多尺度卷积注意力(MSCA),有效地提取上下文信息,新颖度高,创新十足。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 6315

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NKOI 1120 最短路默写

最短路默写 Time Limit:10000MS  Memory Limit:65536K Total Submit:676 Accepted:396 Case Time Limit:1000MS Description 有一无负权有向图。求指定两点间的最短路径。 Input 输入:第一行,两个数字n和m,表示n个顶点,m条边 接下来的m行,每行三个整数,分别表示边的起点、

SuperGate的博客 565

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【NKOJ-1120】最短路默写

问题描述 有一无负权有向图。求指定两点间的最短路径。 输入格式 输入:第一行,两个数字n和m,表示n个顶点,m条边 接下来的m行,每行三个整数,分别表示边的起点、终点和边的长度 最后一行 两个整数 x y 表示求从点x到点y的最短路径 输出格式 输出:一行,一个整数,最短路径长度 样例输入 1 33 125 132 321 12 样例输出 1 3 样例输入 2 45 1210 131 326 342 423 12 样例输出 ...

huangyucheng123的博客 347

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

P2384 最短路 最短路

题目背景 狗哥做烂了最短路,突然机智的考了Bosh一道,没想到把Bosh考住了...你能帮Bosh解决吗? 他会给你\(100000000000000000000000000000000000\)%\(10\)金币w 题目描述 给定n个点的带权有向图,求从1到n的路径中边权之积最小的简单路径。 输入格式 第一行读入两个整数n,m,表示共n个点m条边。 接下来m行,每行三个正整数x,y,z...

weixin_30237719的博客 319

最短路(dijkstra)

最短路 Time Limit : 5000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 66   Accepted Submission(s) : 36 Font: Times New Roman | Verdana | Georgia Font S

一点一滴,从不止步! 724

SCU - 最短路(Dijkstra+邻接表)

题目链接:http://acm.scu.edu.cn/soj/problem.action?id=4526Time Limit:1000ms Memory Limit:32768K Description 给定一个n个节点,m条有向边的图,再给你起点和终点,请问其中有多少条互不重叠的从起点到终点的最短路,即互相没有公共边的最短路个数(可以有公共点),用过边的不能再用。 Input 输入第一...

ityanger的技术栈 3733

[图论][最短路]最短路径问题

Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。 Input 输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为0时...

dingfei496705的博客 285

默写

# v1.0 ''' 1. 给定年龄,用户可以猜三次年龄 2. 年龄猜对,让用户选择两次奖励 3. 用户选择两次奖励后可以退出 ''' age_count = 0 # 计算次数 age = 18 # 给定年龄 # 奖品信息 prize_dict = { '0': "芭比娃娃", '1': "变形金刚", '2': "psp游戏机", '3': "...

dibeng1923的博客 230

算法默写

序号 内容 1 快速排序算法 2 堆排序算法 3 归并排序算法 ...

月雲之霄的博客 249

最短路与最小生成树

图论dijkstra求最短路floyd求最短路Prim求最小生成树Kruskal求最小生成树 之前也没写图论,但是现在发现不好复习,所以决定写一下,最近一直在默写 dijkstra求最短路 首当其冲当然是Dijkstra 思路大概是,先确定一个起点,然后让dist[起点] = 0,随后开始了n-1次循环,然后每次找距离起点最近的那个点,然后用这个点更新其他点 #include <bits/stdc++.h> using namespace std; #define int long long #

weixin_51176105的博客 532
上一篇: 亲戚
下一篇: Trie模板
Formiko
博客等级 码龄11年 20粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值