首页 > 编程语言 >dijkstra算法

dijkstra算法

时间:2023-08-04 15:58:51浏览次数:40  
标签:node ci dist int 算法 vis dijkstra

【USACO】热浪

#include<bits/stdc++.h>
using namespace std;
struct node
{
	int u,dist;
	node(int _u,int _dist)
	{
		u=_u;
		dist=_dist;
	}
};
struct node2
{
	int v,w;
	node2(int _v,int _w)
	{
		v=_v;
		w=_w;
	}
};
struct cmp
{
	bool operator()(node a,node b)
	{
		return a.dist>b.dist;
	}
};
priority_queue<node,vector<node>,cmp> q;
vector<node2> g[6201];
int c,t,ts,te,d[2501];
bool vis[2501];
void dijkstra(int o)
{
	memset(d,88,sizeof(d));
	memset(vis,0,sizeof(vis));
	d[o]=0;
	q.push(node(o,0));
	while(q.size())
	{
		int x=q.top().u;
		q.pop();
		vis[x]=true;
		for(int i=0;i<g[x].size();i++){
			int y=g[x][i].v;
			int z=g[x][i].w;
			if(!vis[y]&&d[x]+z<d[y]){
				d[y]=d[x]+z;
				q.push(node(y,d[y]));
			}
		}
	}
}
int main()
{
	cin>>t>>c>>ts>>te;
	for(int i=1;i<=c;i++){
		int rs,re,ci;
		cin>>rs>>re>>ci;
		g[rs].push_back({re,ci});
		g[re].push_back({rs,ci});
	}
	dijkstra(ts);
	cout<<d[te];
	return 0;
}

标签:node,ci,dist,int,算法,vis,dijkstra
From: https://www.cnblogs.com/huangxirui/p/17606147.html

相关文章

  • 图论强联通分量(tarjan)算法
    图论强联通分量(tarjan)算法#include<bits/stdc++.h>usingnamespacestd;intn,m,cnt,cntb,ans;vector<int>edge[101];vector<int>belong[101];boolinstack[101];intdfn[101];intlow[101];stack<int>s;voidTarjan(intu){ ++cnt; dfn[u]=......
  • 家长直呼太暴力!这些算法可能会被删除
    近日,洛谷网络科技有限公司多位用户家长向@kkksc03反映,部分算法存在血腥、暴力等不利于青少年儿童的因素出现,要求对相关算法进行整改或被删除。洛谷网络科技有限公司题目组管理员在接受采访时说道,在最近几天内,洛谷收到了数十条家长来信,声称网站教授的部分算法存在“血腥”、“暴......
  • 【数据结构 | 入门】线性表与链表 (问题引入&实现&算法优化)
    ......
  • 往年 | 大疆雷达算法校招笔试题目解析
    2023年度会员内容更新公告(04.16)序号类别内容文件路径1无无无【正文】编辑|小助理 审核|调皮哥本文图片中的答案仅仅是为了说明题目,并不是正确答案,额外注意!文中的解析仅作为学习参考。1、FFT主要利用旋转因子  的什么性质,减少运算量?答:对称性和周期性2、采样率fs,采样M个实数,进行N......
  • 大模型时代来临----算法工程师与相关职业如何发展与提升
    前言:7月28日,合合信息举办了一场关于大模型时代下算法工程师发展和转型的直播。作为一家持续站在技术前沿的企业,合合信息探讨了算法工程师在不同阶段的发展、差异点和共性,以及他们转型为算法周边工作所需的能力。同时,分享了提升大模型时代下算法工程师能力的方法和需要学习的内容......
  • 如何在 CentOS 7 安装 TCP BBR 拥塞算法
    TCPBBR介绍首先对TCPBBR做个介绍。TCPBBR(全称BottleneckBandwidthandRound-trippropagationtime)是由Google设计,于2016年发布的拥塞算法。之前大部分拥塞算法是基于丢包作为判断降低传输速率的信号,而BBR则基于模型主动探测。该算法使用网络最近出站数据分组当时的最......
  • 创新赛制,顶尖赛题!| 2023第二届粤港澳大湾区(黄埔)国际算法算例大赛十赛道虚位以待
    2023第二届“粤港澳大湾区(黄埔)国际算法算例大赛”(以下简称“大赛”)于 2023年7月15 日正式开赛。大赛面向全球,诚邀有创新精神,并有较好的AI算法算例基础的高校学生、AI领域相关企业和研究院所的从业人员和创客等报名参赛!创新赛制!顶尖赛题!2023战火重燃!点击链接:https://www.hey......
  • c++算法之离散化
    什么是离散化?离散化,故离散数学,其中的“离散”就是不连续的意思。离散化可以保持原数值之间相对大小关系不变的情况下将其映射成正整数。也就是给可能用到的数值按大小关系分配一个编号,来代替原数值进行各种操作。离散化步骤:1.排序2.去重3.归位举一个例子:将{4000,201,11......
  • AI-11. 优化算法
    优化算法对于深度学习非常重要。一方面,训练复杂的深度学习模型可能需要数小时、几天甚至数周。优化算法的性能直接影响模型的训练效率。另一方面,了解不同优化算法的原则及其超参数的作用将使我们能够以有针对性的方式调整超参数,以提高深度学习模型的性能。11.1. 优化和深度学习......
  • 代码随想录算法训练营第四十五天| 503.下一个更大元素II 42. 接雨水
    503.下一个更大元素II 要求:数组是环,需要找到下一个最大的元素思路1:先作为直线遍历,然后没有的节点,放到首部,再找比他大的节点注意:头节点代码:1//要求:返回循环数组中下一个更大的数字步数2//思路:先不循环遍历,3//然后对每个-1节点,以他为起始,放到数组的开头,计算有几......