ACwing 850. 堆优化Dijkstra求最短路

【SerDes】美信GMSL2-CSI调试心得 美信GMSL2加解串器芯片家族广泛应用于车载和工业视觉系统。文章介绍了MAX96717/MAX96717F加串器和MAX96724/MAX96724R解串器的关键特性,包括支持MIPI CSI-2接口、6Gbps传输速率等功能。提供了基于高通平台的demo系统配置和调试步骤,重点阐述了Link Lock、PCLK检测和Video Lock等关键调试环节,并详细说明了像素模式,隧道模式的工作原理及寄存器配置示例。文中还包含通过I2C读写寄存器的具体操作指令,取流freeze可能原因和解决方法。 阅读详情

给定一个 nn 个点 mm 条边的有向图,图中可能存在重边和自环,所有边权均为非负值。

请你求出 11 号点到 nn 号点的最短距离,如果无法从 11 号点走到 nn 号点,则输出 −1−1。

输入格式

第一行包含整数 nn 和 mm。

接下来 mm 行每行包含三个整数 x,y,zx,y,z,表示存在一条从点 xx 到点 yy 的有向边,边长为 zz。

输出格式

输出一个整数,表示 11 号点到 nn 号点的最短距离。

如果路径不存在,则输出 −1−1。

数据范围

1≤n,m≤1.5×1051≤n,m≤1.5×105,
图中涉及边长均不小于 00,且不超过 1000010000。

输入样例:

3 3
1 2 2
2 3 1
1 3 4

输出样例:

3

 

#include<bits/stdc++.h>
#define lu pair<int,int>
#define inf 0x3f3f3f3f
using namespace std;
const int maxn = 2e5;
struct node
{
    int v,next,w;
}edge[maxn];
int cnt;
bool vis[maxn];
int dis[maxn],head[maxn];
void add(int u,int v,int w)
{
    edge[cnt].w=w;
    edge[cnt].v=v;
    edge[cnt].next=head[u];
    head[u]=cnt++;
}
void dijkstra(int n)
{
    priority_queue<lu,vector<lu>,greater<lu>>q;
    memset(dis,inf,sizeof dis);
    q.push({0,1});
    dis[1]=0;
    while(!q.empty())
    {
        lu temp = q.top();
        q.pop();
        int u = temp.second;
        if(vis[u]) continue;
        vis[u]=true;
        for(int i = head[u];i!=-1;i=edge[i].next)
        {
            int v = edge[i].v;
            if(dis[v]>dis[u]+edge[i].w)
            {
                dis[v]=dis[u]+edge[i].w;
                q.push({dis[v],v});
            }
        }
    }
    if(dis[n]==inf) cout<<-1<<endl;
    else cout<<dis[n]<<endl;
}
int main()
{
    int n,m,u,v,w;
    cin>>n>>m;
    memset(head,-1,sizeof(head));
    for(int i = 0;i<m;i++)
    {
        scanf("%d%d%d",&u,&v,&w);
        add(u,v,w);
    }
    dijkstra(n);
    return 0;
}

 

K8S搭建(centos)四、安装K8S 每个人都有惰性,但不断学习是好好生活的根本,共勉! 阅读详情

相关推荐

Debian 11 下用hostapd+dnsmasq搭建WiFi热点:从命令行到实战(避坑指南)

本文详细介绍了在Debian 11系统上,使用hostapd和dnsmasq从命令行搭建稳定WiFi热点的完整实战流程。内容涵盖环境准备、无线网卡AP模式检查、服务深度配置,并重点提供了从服务启动失败到客户端无法上网等常见问题的系统性排错指南,帮助用户避开配置陷阱,成功创建可用的无线接入点。

CAT789的专栏 772

【acwing】850. Dijkstra求最短路 II*

穿越隧道 堆是stl中的堆,非手写。 当m和n处于一个量级时,且n的数据量不能够开数组时,可以选择堆优化和邻接表的Dijkstra. 当m是n2n^2n2时,且n2n^2n2的大小的数组不会超内存时,可以选择邻接矩阵。 需反复记忆 #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 10; typedef pair<int,int> pii; int n,m; int h[N],e[N],w[N],

qq_45866781的博客 291

STM32与小米CyberGear微电机的CAN通信协议深度解析

本文深度解析STM32与小米CyberGear微电机的CAN通信协议,涵盖硬件连接、CAN总线配置、通信协议解析及多电机协同控制。重点介绍了基于STM32的电机控制实践,包括运动模式、速度与位置模式设置,以及数据反馈与故障诊断,为机器人及自动化设备开发提供实用指南。

www00的博客 359

AcWing(850)-----Dijkstra求最短路 II

题目链接 模板题 1. 题中m,n的数据范围都为100000,所以用朴素dijkstra行不通,需要用优先队列优化 ——————————————————————————————————————————————————————————————— 邻接矩阵实现的dijkstra算法的复杂度是O(V²)。使用邻接表的话,更新最短距离只需要访问每条边一次即可,因此这部分的复杂度是O(E).但是每次要枚举所...

没有期待的日子反而会顺顺利利 298

海思Hi3516CV610开发实战:在Ubuntu 22.04上从零构建嵌入式Linux开发环境

本文详细介绍了在Ubuntu 22.04上为海思Hi3516CV610开发板搭建嵌入式Linux开发环境的完整流程。从虚拟机配置、系统安装到基础环境设置,提供了实用技巧和常见问题解决方案,帮助开发者高效构建适用于智能视觉处理的开发环境。

weixin_29197699的博客 510

Zigbee开发环境搭建:从驱动安装到程序烧录全指南

本文提供了一份详尽的Zigbee开发环境搭建全指南,涵盖从驱动安装到程序烧录的完整流程。重点介绍了使用SmartRF Flash Programmer和仿真器进行程序下载的关键步骤,并详细说明了USB转串口驱动的配置方法,帮助开发者快速构建稳定的Zigbee开发基础。

weixin_29195217的博客 394

dijkstra求最短路(堆优化)

题目 给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为非负值。 请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出−1。 输入格式 第一行包含整数n和m。 接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。 输出格式 输出一个整数,表示1号点到n号点的最短距离。 如果路径不存在,则输出−1。 数据范围 1≤n,m≤1.5×105 图中涉及边长均不小于0,且不超过...

falldeep的算法世界 317

基于STM32+OneNet设计的物联网智慧路灯(100)

本次设计的智能路灯采用STM32芯片和OneNet物联网平台进行连接,开发出支持太阳能充电锂电池供电、GPS定位上传位置信息、手动/自动控制路灯开关、环境光照调节、红外传感器检测周围人员、空气质量监测等多项功能。同时,当路灯发生异常情况时,系统可以自动发送邮件或短信到指定邮箱或电话。

7725

AcWing850. Dijkstra求最短路 II

问题描述: 给定一个 nnn个点 mmm 条边的有向图,图中可能存在重边和自环,所有边权均为正值。 请你求出 111 号点到 nnn 号点的最短距离,如果无法从 111号点走到 nnn 号点,则输出 −1−1−1。 输入格式: 第一行包含整数 nnn 和 mmm。 接下来 mmm 行每行包含三个整数 xxx,yyy,zzz,表示存在一条从点 xxx 到点 yyy 的有向边,边长为 zzz。 输出格式: 输出一个整数,表示 111 号点到 nnn 号点的最短距离。 如果路径不存在,则输出 −1−1−1。 数据

猫天意的博客 311

13、控制依赖与切片的新基础及递归While程序的摘要

本文探讨了控制依赖和程序切片的新研究进展,并提出了一种用于递归While程序的广义过程摘要概念和验证框架。文章介绍了控制依赖的新定义及其优势,程序切片的相关工作,以及递归While程序的过程摘要在完全正确性和终止性证明中的应用。通过阶乘和插入排序程序的示例分析,展示了过程摘要的有效性。未来的研究将聚焦于并发程序的依赖计算、依赖关系的语义连接以及时间属性的保留。

kotlin6android的博客 85

YOLOv8【第十章:多任务扩展深度篇·第19节】YOLOv8 与 DeepLabV3+ 对比——实时性与精度的权衡!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1万+

acwing 850. Dijkstra求最短路 II

#define _CRT_SECURE_NO_WARNINGS 1 //堆优化版的dijkstra算法 //稀疏图 用邻接表储存 //主要是优化找找出最短一点的路径这一步 用堆来选择 //时间复杂度O(mlogn) //建堆两种方式,1.手写堆2.优先队列 //在这里用stl优先队列 priority queue #include<iostream> #include<queue> #include<cstring> #include<algorithm> .

m0_52276165的博客 222

Claude Code 错误解决方案 使用策略拒绝 Usage Policy refusal

摘要:本文分析了Claude Code API请求被拒绝的问题,当违反Usage Policy时会显示错误提示。根因包括请求内容违规、模型敏感度差异或历史消息影响。解决方案包括修改请求措辞、切换至Sonnet 4.5模型或开启新会话。文章详细追踪了错误链路,提供了核心代码分析,并给出验证方法和最佳实践建议,帮助用户避免触发API拒绝机制。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 972

acwing 850. Dijkstra求最短路 II 堆优化Dijkstra

【代码】acwing 850. Dijkstra求最短路 II 堆优化Dijkstra。

CSYangyaoslal的博客 113

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VB摄像头监控

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

AcWing 850. Dijkstra求最短路 II(堆优化dijkstra)

题目链接 : 点击查看 题目描述 : 给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,所有边权均为非负值。 请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 −1。 输入输出格式 : 输入 第一行包含整数 n 和 m。 接下来 m 行每行包含三个整数 x,y,z,表示存在一条从点 x 到点 y 的有向边,边长为 z。 输出 输出一个整数,表示 1 号点到 n 号点的最短距离。 如果路径不存在,则输出 −1。 输入输出样例 : 输入 3 3 1 2

在森林里麋了鹿 804

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

AcWing 850. Dijkstra求最短路 II【最短路】【堆优化版Dijkstra】

AcWing 850. Dijkstra求最短路 II【最短路】【堆优化版Dijkstra】

Derrickhang的博客 655

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[AcWing]850. Dijkstra求最短路 II(C++实现)堆优化版Dijkstra算法求最短路模板题

[AcWing]850. Dijkstra求最短路 II(C++实现)堆优化版Dijkstra算法求最短路模板题1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结 1. 题目 2. 读题(需要重点注意的东西) 思路:朴素Dijkstra算法有一步是找距离节点1最近的且最终节点未确定的节点,这一步是找最小值,并且找最小值的时间复杂度是O(n),因此可以想到,用堆来优化这一步,使其时间复杂度降为O(1) 如果对朴素Dijkstra算法的思想

cloud的博客 984

AcWing 850:Dijkstra求最短路 II ← 堆优化+链式前向星

堆优化 Dijkstra 算法,用于稀疏图优势明显。但是,当边数接近稠密图的边数量级 n² 时,堆优化 Dijkstra 算法的时间复杂度 O(mlogn) 退化为 O(n²logn),此时的时间复杂度劣于朴素 Dijkstra 算法的时间复杂度 O(n²)。

hnjzsyjyj的专栏 995

AcWing850 Dijkstra求最短路 II(最短路、堆优化Dijkstra)

题目: 题解目录前言一、题目陈述二、解决思路三、代码实现总结 前言 一、题目陈述 二、解决思路 三、代码实现 总结

codertea的博客 186

AcWing 850. Dijkstra求最短路 II(堆优化)

#include<algorithm> #include<iostream> #include<cstring> #include<queue> using namespace std; const int N=1e5+10; int e[N],ne[N],w[N],h[N],idx; int dist[N]; bool st[N]; int n,m...

weixin_44488944的博客 298

【最短路——堆优化版的Dijkstra算法】AcWing 850. Dijkstra求最短路 II

AcWing 850. Dijkstra求最短路 II 代码: #include <iostream> #include <cstring> #include <algorithm> #include <queue> using namespace std; typedef pair<int, int> PII;//first为当前节点距起点的距离,second为该节点编号 const int N = 1e6 + 10; int n, m

享受当下 287

acwing 850. Dijkstra求最短路(二)堆优化版本

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,所有边权均为非负值。请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 −1。输入格式 第一行包含整数 n 和 m。接下来 m 行每行包含三个整数 x,y,z,表示存在一条从点 x 到点 y 的有向边,边长为 z。输出格式 输出一个整数,表示 1 号点到 n 号点的最短距离。如果路径不存在,则输出 −1。直接之前朴素版本的修改如何判断稠密图还是稀疏图: 稠密图: 边 等于 点数量的平方 稀疏图 : 边和点的数量差

刘小雨的博客 2305

Acwing.850 Dijkstra求最短路ll(堆优化Dijkstra)

对比于上一篇博客(Acwing.849 Dijkstra求最短路l),这道题目提升了数据量,朴素Dijkstra算法必然超时,这时用到堆优化,时间复杂度为O(nlogm)。题目思路与朴素算法一致,区别为每次从小根堆顶取数,时间复杂度为O(1),耗时转移到堆调整中,最后实现O(nlogm)。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出-1。接下来m行每行包含三个整数x,y,z,表示点x和点y之间存在一条有向边,边长为z。输出一个整数,表示1号点到n号点的最短距离。

qq_62235017的博客 294

堆优化版dijkstra算法:AcWing 850. Dijkstra求最短路 II

堆优化版dijkstra算法分析: 朴素版dijkstra的时间复杂度为O(n^2),主要瓶颈在于第1步的寻找全局最小值的过程。 可以用小根堆(C++STL priority_queue)对dist数组进行维护,用O(logn)的时间获取最小值并从堆中删除,用O(logn)的时间执行一条边的扩展和更新。 因此最终我们可在 **O(m logn)**的时间”内实现 Dijkstra算法。 该算法适用于稀疏图,非负权边图。 代码片段: int dijk() { memset(dist, 0x3f

Jacob0824的博客 773

Acwing850.Dijkstra求最短路Ⅱ 堆优化版

int n, m;idx = 0;d[1] = 0;while (!pq.pop();st[p] = 1;i!= -1;init();i < m;i++) {dijkstra();return 0;

Y2433的博客 226

AcWing 850. Dijkstra求最短路 II(堆优化版最短路)

给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为非负值。 请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出-1。 输入格式 第一行包含整数n和m。 接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。 输出格式 输出一个整数,表示1号点到n号点的最短距离。 如果路径不存在,则输出-1。 数据范围 1≤n,m≤1.5×1051≤n,m≤1.5×105, 图中涉及边长均不小于0,且不超过10000。 输入样例: 3 3

StrawberryMuMu的博客 294
上一篇: 洛谷 P1102 A-B 数对(二分查找)
下一篇: ACwing 853. 有边数限制的最短路(Bellman-ford)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值