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]);
    }
}
【生成数据集EXCEL文件】使用生成对抗网络GAN生成数据集:输出生成数据集EXCEL 生成器的任务是接收随机噪声向量作为输入,并尽可能生成与真实数据相似的样本,而判别器则是一个二分类器,旨在区分输入的样本是来自生成器生成的,还是来自真实数据。在训练过程中,生成器和判别器通过对抗学习的方式相互博弈,生成器的目标是生成足以欺骗判别器的样本,而判别器的目标则是尽可能准确地判断样本的真实性。GAN网络在多个领域展现了强大的能力,能够生成与训练数据分布相似的新数据,包括但不限于图像生成、图像风格转换、超分辨率、数据增强、视频生成、自然语言处理、医学图像处理以及游戏与虚拟现实等。 阅读详情

相关推荐

simulink求解器选择的小tip

给出了simulink选择求解器的一种tip,与积分初值有关。

高能阿博特的博客 2055

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

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

649

BAPI_OUTB_DELIVERY_CHANGE扩展指南:利用EXTENSION2与SMOD_V50B0001实现自定义字段更新

本文详细解析了如何利用BAPI_OUTB_DELIVERY_CHANGE的EXTENSION2参数与增强点SMOD_V50B0001,在不修改标准代码的前提下,安全、标准地更新SAP交货单的自定义字段。通过清晰的步骤指南和实战代码示例,帮助开发者掌握通过增强字段实现定制化业务需求的完整流程与调试技巧。

fanta的博客 451

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

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

fuhaitao9999的博客 686

CANoe软件之离线报文回放与分析实战

本文详细介绍了如何使用CANoe软件进行离线报文回放与分析,帮助工程师将现场故障数据转化为可反复研究的实验室资源。通过实战步骤,指导如何搭建分析工程、加载DBC文件解码信号,并利用Trace和Graphics窗口进行深度数据筛选与图形化分析,从而高效定位汽车电子故障,是提升诊断效率的关键技能。

weixin_29227585的博客 529

值得苦练的100道Python经典练手题(全网最全,附详细答案,建议收藏)

这100道Python练习题涵盖了从基础语法到高级算法、从数据库操作到Web开发的各个方面,是备考数据库系统工程师的绝佳素材。建议按照章节顺序逐一练习,遇到难点可反复钻研,真正掌握每一道题背后的知识点。通过这些练习,不仅能提升Python编程能力,还能加深对数据库系统原理的理解,为考试和实际工作打下坚实基础。

yue_yun_的博客 9395

SDUT2143最短路径

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

smile_kai的博客 470

STM32F030F4P6实战:LL库+DMA驱动WS2812全流程(附避坑指南)

本文详细介绍了如何使用STM32F030F4P6的LL库和DMA驱动WS2812 LED灯带的全流程,包括硬件选型、CubeMX配置、LL库与DMA关键实现、数据格式转换及调试技巧。特别提供了避坑指南,帮助开发者避免常见错误,提升开发效率。

weixin_29194693的博客 484

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

[uboot] (第四章)uboot流程——uboot编译流程

uboot编译流程简单介绍

ooonebook的博客 1万+

Matlab2024a安装教程

点击【下一步】。8.选择解压后的【MATLAB R2024a(64bit)】文件夹中【Crack】文件夹下的【licese.lic】,点击【打开】。

qq_64359046的博客 4824

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

2018安徽省青少年信息学奥林匹克(AHOI)初中组

12 种合法的排列分别为:1, 3, 2, 4, 2, 3, 1, 4, 3, 1, 4, 2, 3, 2, 4, 1, 1, 3, 4, 2, 2, 3,4,1,1,4,2,3, 2,4,1,3, 4,1,3,2, 4,2,3,1, 1,4,3,2, 2,4,3,1。分为 2 组,一组的队员实力值是{4, 5, 2, 3},一组是{-4, -3, -5},其中最小的组人数为 3,可以发现没有比 3 更优的分法了。[0, 1, 1, 2]同样不是合法的分组方案,因为出现了两个实力值为 1 的选手。

weixin_42358969的博客 1143

优先队列优化Dijkstra算法

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

Maybemust的博客 4159

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

图结构练习——最短路径(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

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HDU-2544 最短路 Dijkstra模板题

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

weixin_30596343的博客 210

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

图结构练习——最短路径

图结构练习——最短路径 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、付费专栏及课程。

余额充值