SDUT 2143 - 图结构练习——最短路径(dijkstra+模板)

图结构练习——最短路径(Dijkstra算法) 图结构练习——最短路径 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给定一个带权无向图,求节点1到节点n的最短路径。 Input 输入包含多组数据,格式如下。 第一行包括两个整数n m,代表节点个数和边的个数。(n<=100) 剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边... 阅读详情

题目链接


http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2143.html

题目大意


就是求一个带权无向图的最短路径。

解题过程


之前看啊哈算法学了下dijkstra,然后嫌麻烦一直没用过。现在看了个视频才发现,用优先队列优化后,非常好用,比SPFA还容易写,于是放出来做个模板。

题目分析


略

AC代码


#include<bits/stdc++.h>
using namespace std;

const int MAX = 100+10;

vector<pair<int, int> > edges[MAX];
int d[MAX];

int main()
{
    int n, m;
    while (~scanf("%d %d", &n, &m))
    {
        for (int i = 1; i <= n; i++)
        {
            edges[i].clear();
            d[i] = 1e9;
        }

        for (int i = 0; i < m; i++)
        {
            int u, v, w;
            scanf("%d %d %d", &u, &v, &w);
            edges[u].push_back(make_pair(v, w));
            edges[v].push_back(make_pair(u, w));
        }

        int s = 1, t = n;

        priority_queue<pair<int, int> >q;
        d[s] = 0;
        q.push(make_pair(-d[s], s));

        while (!q.empty())
        {
            int u = q.top().second;
            q.pop();
            for (int i = 0; i < edges[u].size(); i++)
            {
                int v = edges[u][i].first;
                if (d[v] > d[u] + edges[u][i].second)
                {
                    d[v] = d[u] + edges[u][i].second;
                    q.push(make_pair(-d[v], v));
                }
            }
        }

        if (d[t] == 1e9)
            printf("-1\n");
        else
            printf("%d\n", d[t]);
    }
}
Ubuntu20.04下 嵌入式 Qt 开发环境的搭建(适用于Tiny6410) Ubuntu 下 Tiny6410 嵌入式 Qt 开发环境的搭建 目录导航Ubuntu 下 Tiny6410 嵌入式 Qt 开发环境的搭建前言1.安装前的准备工作2.安装交叉编译器 前言 这篇文章,主要是基于 Ubuntu19.10版本而写,写此文的初衷,是为了自己使用,因为最近正在以Tiny6410板子做实训,所以也是初学者一枚,只能保证我遇上的问题统统能够解决掉,至于一些没遇上的,欢迎各位看客给我留言,大家一起讨论,一起解决。 注:本文会持续更新 1.安装前的准备工作 环境要求 Linux系统:U 阅读详情

相关推荐

深入了解AES_GCM算法

常见的对称加密算法,在解密过程中无法确认密钥是否正确的。这就意味着,密文可以用任何密钥执行解密运算,得到一组疑似密文;由于不知道密钥是否正确,故也不能确定解密出来的明文数据是否正确。因此,需要在对称加密算法上增加一层验证机制,常见思路为使用加密算法进行加密保证机密性,使用摘要算法计算MAC保证完整性和真实性,这就涉及到摘要计算和加密计算的前后顺序和参与计算的数据、密钥等,使用起来略微麻烦。

huaqianzkh的专栏 4190

图结构练习——最短路径(floyd算法(弗洛伊德))

图结构练习——最短路径 Time Limit: 1000ms Memory limit: 65536K有疑问?点这里^_^ 题目描述 给定一个带权无向图,求节点1到节点n的最短路径。 输入 输入包含多组数据,格式如下。 第一行包括两个整数n m,代表节点个数和边的个数。(n<=100) 剩下m行每行3个正整数a b c...

649

川崎机器人总线通信_三菱PLC和发那科机器人进行CCLINK总线通信

三菱CCLINK主站模块采用QJ61BT11N,该模块用在Q系列PLC上,如果是5U或3UPLC,可用FX5-CNV-BUS加FX3U-16CCL-M或FX5-CCL-M模块。本教程以Q系列为例CCLINK接线方法如下模块拨码含义如下接线和拨码设置好后,接着在编程软件上设置CCLINK通信参数打开编程软件,在工程导航栏打开参数——网络参数,选中CCLINK打开。打开如下画面起始IO为模块本体占用I...

weixin_42300398的博客 7549

最短路(dij+优先队列优化)模板

最短路径问题描述 有n个城市,求s到e的最短路径; 当n的值较小时,直接用(dij)算法没有问题,但是当数值较大或者访问过多时就需要优化; dij(算法)时间复杂度(n2); 算法思想:贪心,从起点开始,不断的寻找不同点到起始点的最短距离; ...

fuhaitao9999的博客 686

FFmpeg音频转AAC/M4A终极指南:从基础到高级参数调优

本文详细介绍了使用FFmpeg将音频转换为AAC/M4A格式的完整指南,从基础安装到高级参数调优。涵盖FDK-AAC编码器的使用、VBR/CBR模式选择、音质控制技巧以及实战案例,帮助用户在不同场景下实现高质量的音频转换。特别适合需要优化音频文件大小与音质平衡的开发者和音频处理专业人士。

rust6ferris的博客 726

自然二进制数与格雷码的相互转换

自然二进制数与格雷码两者优势: 自然二进制数的编码方式简单明了,容易理解,在加减运算中能够直接进行,同时十分方便进行一些位运算操作(如移位、取反等)。 格雷码计数时只有一位变化,可有效减少计数器状态的冗余转换,同时在传输数据时能够减小传输错误的概率,此外带权重编码处理更加方便。 在一定程度上自然二进制数与格雷码优缺点基本相反,综上所述,自然二进制数和格雷码各有优劣之处,需要根据具体应用场景选择合适的编码方式。简单来说,在计数器和编码器中,倾向于使用格雷码;而在进行加减运算时,则倾向于使用自然二进制数。

Loudrs的博客 7494

SDUT2143最短路径

图结构练习——最短路径 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述  给定一个带权无向图,求节点1到节点n的最短路径。   输入  输入包含多组数据,格式如下。 第一行包括两个整数n m,代表节点个数和边的个数。(n 剩下m行每行3个正整数a b c,代表节

smile_kai的博客 470

Stata新手避坑:用reghdfe搞定行业、地区多重固定效应,告别‘共线性’报错

本文详细介绍了如何使用Stata中的reghdfe命令高效处理多重固定效应问题,解决传统方法在面板回归中遇到的共线性报错和低R²问题。通过实战案例和高级技巧,帮助新手快速掌握行业、地区等多维固定效应的控制方法,提升经济学和金融学研究的分析效率。

weixin_30635053的博客 421

dijkstra + 优先队列 最短路 [sdut 2143]

题目描述:最短路裸题分析: 本身是一道裸题,这次用优先队列做一下dijkstra。也get到了有限队列各种姿势的排序方式,分享一下: priority_queue <int> que 这样默认是从大到小排的 priority_queue <int, vector<int>, less<int>> que priority_queue <int, vector<int>, greater

sdutstudent的博客 357

一种基于频域滤波法消除干扰项与角谱法重构技术的数字全息显微台阶形貌测量实例分析

一种基于频域滤波法消除干扰项与角谱法重构技术的数字全息显微台阶形貌测量实例分析

简单光学 2034

计算三维空间中AOA定位的 CRLB(Cramér–Rao 下界,克拉美罗下界)公式与MATLAB例程

摘要:本文介绍了三维空间中基于AOA(到达角度)测量的目标定位CRLB(Cramér–Rao下界)计算方法。通过定义目标位置向量、传感器位置和AOA测量角度(方位角与俯仰角),推导了方向向量和雅可比矩阵的表达式,并构建Fisher信息矩阵计算CRLB。提供了MATLAB例程实现该算法,包括参数设置、CRLB计算和可视化(3σ误差椭球)。实验结果表明,当目标位置偏离传感器阵列时,定位误差显著增大。该方法适用于评估AOA定位系统的理论性能极限,为导航与定位算法设计提供参考。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 588

sdut2143图结构练习——最短路径

从书上大体看了看思想 然后照着模板打 由于没考虑重边的问题WA一次 Dijkstra算法 View Code 1 #include<stdio.h> 2 #include<string.h> 3 int w[101][101]; 4 #define INF 0x3f3f3f3f 5 int main() 6 { 7 int ...

weixin_30247159的博客 102

手把手教你学Simulink--基于车联网与智能交通系统的场景实例:基于车联网(V2X)的实时路况信息共享与处理

《基于Simulink的车联网(V2X)实时路况共享系统仿真》摘要:本文详细介绍使用Simulink构建V2X智能交通系统的完整方法。系统包含交通路网建模、V2X通信实现(支持DSRC/C-V2X标准)、多源路况信息融合、动态路径规划等核心模块。通过对比实验,验证V2X可使平均车速提升52%,行程时间缩短34%,显著提升交通效率。文章还探讨了AI预测调度、车辆编队等高级应用,为智慧交通系统开发提供实用参考。所需工具包括Simulink、SimEvents及无线通信工具箱等。

MHD0815的博客 739

优先队列优化Dijkstra算法

普通的Dijkstra算法复杂度为n平方,当数据量稍大时就会超时,所以诞生了时间复杂度为nlogn的优先队列优化的Dijkstra算法。 原来版本有大量时间浪费在通过邻接矩阵找边和搜索当前最短路径中,而优化后的算法中,用结构体Edge存储边信息,省却了找有效边的麻烦。而且采用优先队列,可以快速找到最短路径,又省却一部分时间,所以在时间上具有极强的优越性。 贴一份代码,看输入部分代码相信应该可以看

Maybemust的博客 4159

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VB摄像头监控

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

图结构练习——最短路径(Dijkstra优化模板)

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

Ditto_xff的博客 294

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

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

HDU-2544 最短路 Dijkstra模板题

题目链接:https://vjudge.net/problem/HDU-2544 题意: 题目要求找到节点1到节点n之间的一条最短路 分析: Dijkstra模板题 单源最短路径,可以用dijkstra(当然Floyd或者其他也可以),首先初始化节点间距离数组map和访问记录数组vis,然后录入并存储当前已知点间距离,再使用dijsktra算法以起始点为中心向外层层扩展(广度优...

weixin_30596343的博客 210

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

图结构练习——最短路径

图结构练习——最短路径 Time Limit: 1000MS Memory limit: 65536K 题目描述  给定一个带权无向图,求节点1到节点n的最短路径。   输入  输入包含多组数据,格式如下。 第一行包括两个整数n m,代表节点个数和边的个数。(n 剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。

628

图结构练习——最短路径(Dijkstra)

图结构练习——最短路径 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description  给定一个带权无向图,求节点1到节点n的最短路径。   Input  输入包含多组数据,格式如下。 第一行包括两个整数n m,代表节点个数和边的个数。(n&lt;=100) 剩下m行每行3个正整数...

RuMR的博客 690

SDUT补图

补图Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit StatisticProblem Description题目给出一个无向图,求该无向图关于完全图的相对补图,并求该补图的最大度和最小度。方便起见,用邻接矩阵表示该无向图。无向图的节点数不少于2并且不超过500.Input多组输入,每组输入第一行是无向图中节点的数量即邻接矩阵的行列数n。接下来n行...

CHEN_ZAN_YU的博客 1035

图论——并查集

/* 并查集模板 by:mfcheer */ #include #include #include #include #include #include #include #include #include using namespace std; #define N 100010 int n, m; int fa[N]; int

mfcheer 879

**图结构练习——最短路径**

图结构练习——最短路径 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给定一个带权无向图,求节点1到节点n的最短路径。 Input 输入包含多组数据,格式如下。 第一行包括两个整数n m,代表节点个数和边的个数。(n&lt;=100) 剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边...

just do 691

王道机试练习——最短路径最短花费

王道机试练习——最短路径最短花费 题目描述 给你 n 个点, m 条无向边,每条边都有长度 d 和花费 p,给你起点 s 终点 t, 要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花 费最少的。 输入: 输入 n,m,点的编号是 1~n,然后是 m 行,每行 4 个数 a,b,d,p,表示 a 和 b 之间有一条边,且其长度为 d,花费为 p。最后一行是两个数 s,t;起点 s,终点 t。 n 和 m 为 0 时输入结束。 (1<n<=1000, 0<m<100

xyzxyzxyz1999的博客 223
上一篇: SDUT 2622 - 最短路径(SPFA+二维)
下一篇: webpy服务器(Linux+Web+HTML)
ACM_Fish
博客等级 码龄10年 69粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值