【图论】Dijkstra

news/2024/10/15 5:23:10/

Dijkstra


前置知识


思路

Dijkstra 算法是一种求正权图单源最短路算法

注意到BF最大的缺陷在于其对于一个点的松弛方式太暴力了。
注意到有正权这个条件。
那么我们发现,只要选取当前距离最小的点,该点不可能被松弛
于是使用一个小根堆维护距离即可。


算法参数

  • 时间复杂度: O ( m log ⁡ n ) O(m\log n) O(mlogn)
  • 空间复杂度: O ( n + m ) O(n+m) O(n+m)

实现代码

struct node{int u,d;};
bool operator<(node a,node b){return a.d>b.d;}
void Dijkstra(int s){memset(dis,0x3f,sizeof(dis));dis[s]=0;priority_queue<node> q;q.push({s,0});while (!Q.empty()){node cur=q.top();q.pop();int u=fr.u,k=fr.d;if (k!=d[u]) continue;for (node e:G[u]){int v=e.v,w=e.w;if (d[u]+w<d[v]){d[v]=d[u]+w;q.push({v,d[v]});}}}
}

练习

  • P3371
  • P4779
  • P1339

http://www.ppmy.cn/news/1539281.html

相关文章

Spring-事务的其他属性

说到事务&#xff0c;就要说事务的隔离级别&#xff1a; 事务还有回滚&#xff0c;这里也有回滚的控制属性&#xff1a; rollbackFor可以指定对遇到什么异常回滚事务&#xff1a;默认是所有的运行时异常都要回滚&#xff0c;这个属性&#xff0c;知道就行&#xff0c;一般就取默…

C++刷怪笼(7)string类

目录 1.前言 2.正文 2.1标准库中的string类 2.1.1string类 2.1.2auto和范围for 2.1.3string类的常用接口说明 2.2string类的模拟实现 2.2.1经典的string类问题 2.2.2浅拷贝 2.2.3深拷贝 ​编辑 2.2.4写时拷贝 3.小结 1.前言 前面我们对C的封装这一大特性进行了详细…

DAY8 Final等

Final关键字 final修饰静态变量&#xff0c;这个变量今后被称为常量&#xff0c; 可以记住一个固定值&#xff0c;并且程序中不能修改了&#xff0c;通常这个值作为系统的配置信息。常量的名称&#xff0c;建议全部大写&#xff0c;多个单词用下划线连接。 public static final…

vue中watch和watchEffect区别

在Vue中&#xff0c;watch和watchEffect都是用于观察和响应数据变化的工具&#xff0c;但它们在使用方式和功能上有一些显著的区别。以下是watch和watchEffect的主要区别&#xff1a; 1. 执行时机 watch&#xff1a;是惰性执行的&#xff0c;即它不会在组件第一次执行时立即执…

【食物识别】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+TensorFlow+模型训练+图像识别

一、介绍 食物识别系统。该项目通过构建包含11种常见食物类别&#xff08;包括’Bread’, ‘Dairy product’, ‘Dessert’, ‘Egg’, ‘Fried food’, ‘Meat’, ‘Noodles-Pasta’, ‘Rice’, ‘Seafood’, ‘Soup’, ‘Vegetable-Fruit’&#xff09;的图片数据集&#xff…

darknet_ros 使用教程

首先是git clone可能会因为到没有权限的问题&#xff08;SSH&#xff09;&#xff0c;此时输入 git clone --recursive https://github.com/leggedrobotics/darknet_ros.git 下载成功之后 catkin_make -DCMAKE_BUILD_TYPERelease catkin失败原因&#xff08;在CMakefile中&…

Chatgpt 原理解构

一、背景知识 1. 自然语言处理的发展历程 自然语言处理在不同时期呈现出不同的特点和发展态势。萌芽期&#xff0c;艾伦・图灵在 1936 年提出 “图灵机” 概念&#xff0c;为计算机诞生奠定基础&#xff0c;1950 年他提出著名的 “图灵测试”&#xff0c;预见了计算机处理自然…

【微服务】微服务注册:构建灵活的服务管理机制

目录 引言一、什么是微服务注册&#xff1f;1.1 服务注册中心的作用1.2 服务注册中心的工作原理1.3 示意图 二、常见的微服务注册中心2.1 各注册中心详细对比 三、微服务注册的实现方式3.1 Spring Cloud Netflix Eureka3.2 Consul3.3 Zookeeper3.4 etcd 四、微服务注册的注意事…