卡码网47:Djikstra算法

news/2025/11/21 16:19:36/文章来源:https://www.cnblogs.com/douzishuo/p/19253502

算法思想求: “单源最短路径” 的经典算法
1.核心目标是:在无负权边的图中(有向 / 无向均可),高效找到起点到所有节点的最短路径。
2.每次选择距离(原点集)最近的点,加入原点集(标记)
3.更新各点到原点最近距离

条件:图中所有边的权重都是非负数

题目
https://kamacoder.com/problempage.php?pid=1047
代码(朴素)

include<bits/stdc++.h>

using namespace std;
int n,m;
const int N=501;
int pic[N][N];
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin>>n>>m;
for(int i=0;i<m;i++)
{
int a,b,c;
cin>>a>>b>>c;
pic[a][b]=c;
}
vectorisuse(n+1,false);
vectordis(n+1,INT_MAX);
dis[1]=0;
for(int i=1;i<=n;i++)
{
int mindis=INT_MAX;
int cur=0;
for(int j=1;j<=n;j++)
{
if(!isuse[j]&&dis[j]<mindis)
{
mindis=dis[j];
cur=j;
}
}
isuse[cur]=1;
for(int k=1;k<=n;k++)
{
if(!isuse[k]&&pic[cur][k]!=0&&(dis[cur]+pic[cur][k]<dis[k]))
{
dis[k]=dis[cur]+pic[cur][k];
}
}

}
if(dis[n]==INT_MAX)
{cout<<-1;return 0;
}
cout<<dis[n];
return 0;

}
堆优化(可以将每次找到原点集最近的点步骤省略)

include<bits/stdc++.h>

using namespace std;
int n,m;
class mycomparision
{
public:
bool operator()(const pair<int,int>& lhs,const pair<int,int>& rhs)
{
return lhs.second>rhs.second;
}

};
struct Edge
{
int to;
int val;
Edge(int t,int w):to(t),val(w){}
};
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int p1,p2,val;
cin>>n>>m;
vector<list>grid(n+1);
for(int i=0;i<m;i++)
{
cin>>p1>>p2>>val;
grid[p1].push_back(Edge(p2,val));
}
int start=1;
int end=n;
vectorminDist(n+1,INT_MAX);
vectorvisited(n+1,false);
priority_queue<pair<int,int>,vector<pair<int,int>>,mycomparision>pq;
pq.push(pair<int,int>(start,0));
minDist[start]=0;
while(!pq.empty())
{
pair<int,int> cur=pq.top();
pq.pop();
if(visited[cur.first])continue;
visited[cur.first]=1;
for(Edge edge:grid[cur.first])
{
if(!visited[edge.to]&&minDist[cur.first]+edge.val<minDist[edge.to])
{
minDist[edge.to]=minDist[cur.first]+edge.val;
pq.push(pair<int,int>(edge.to,minDist[edge.to]));
}
}
}

if(minDist[end] == INT_MAX) cout << -1 << endl; // 不能到达终点
else cout << minDist[end] << endl; //

}

//priority_queue(优先队列->堆)
朴素O(n^2)
堆优化O(mlogn)(m->边,n->点);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/972260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年天津中压电缆生产厂家推荐:涵盖变频电缆、聚乙烯绝缘电缆生产厂家!(11月新版)

在工业生产与民生建设的关键领域,电线电缆作为能量传输与信号传递的核心载体,其质量与性能直接决定着各类工程的安全稳定运行。当前,随着市场需求持续扩张,电线电缆行业呈现出企业数量繁杂、产品质量良莠不齐的态势…

神经网络从入门到精通 05:CNN初体验:手把手带你搭建时尚单品图像搜索引擎 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

南京市一对一家教机构怎么选?2026年五大机构测评榜出炉!

在教育竞争激烈的当下,南京家长对孩子的学业关注度持续升高,一对一辅导“因材施教”的优势,成为不少家庭补弱提优的首选。无论是应对中小学阶段的知识难点,还是冲刺高考的关键复习期,优质的一对一机构都能为孩子提…

Day28、29:2025年10月18日、19日,周末,休息。

周末主题就是会友,感谢何哥前段时间的鼎力协助,把珍藏的习酒君品拿出来与君同饮,与君同销万古愁,哈哈哈哈哈哈。周末还去户外开炉子,点燃冬天的第一把火,当整个炉子呈现紫金色的时候,是真的好好看。这东西就跟烧…

CF2165F Arctic Acquisition 题解

Description 给定一个长度为 \(n\) 的排列 \(a_1, a_2, \dots, a_n\)。 一个区间 \([l, r]\) 是锯齿形的,当且仅当该区间包含一个 21435 子序列;即存在整数 \(i_1, i_2, i_3, i_4, i_5\),满足 \(l \leq i_1 < i_…

2025年什么产品能有效淡化纹路?全肤质淡纹抗老方案出炉

什么产品能有效淡化纹路?这是2025年抗衰护肤领域绕不开的核心问题。纹路的产生,本质是真皮层胶原流失、弹性纤维断裂,而普通护肤品大多困于角质层屏障,成分难以深入真皮层发挥作用。想要高效淡纹抗老,需从透皮吸收…

2025年11月天津线缆厂家名单:天津中压、变频、聚乙烯绝缘电缆生产厂家TOP10推荐

在工业生产与城市建设的电力传输体系中,中压电缆、变频电缆及聚乙烯绝缘电缆作为核心载体,其性能稳定性、安全可靠性直接决定项目的整体质量与运行效率。天津凭借完善的工业产业链、先进的制造工艺与严格的质量管控体…

redhat 9.3 安装oracle 19

1、关闭防火墙systemctl stop firewalld.service systemctl disable firewalld2、关闭seLINUXsed -i s/^SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config3、安装所需的包yum install -ybc \binutils \compat…

2025年哈尔滨心理咨询学校权威推荐榜单:特殊教育/早教中心/口肌训练源头学校精选

在心理健康服务需求持续增长的推动下,哈尔滨心理咨询服务市场呈现专业化、细分化的趋势。据行业数据显示,2025年哈尔滨心理咨询服务需求量同比去年增长42%,其中情绪管理、亲子关系、职业倦怠和婚恋问题成为四大主要…

Day30:2025年10月20日,星期一,值班,诸事皆顺。

不知不觉过来都满月了,昨天晚上三女一男illegal use of toxic substances嗨到凌晨,上个班留给我们处理,本可以早早收工,奈何有人添乱,真的是服了。今天下午又抓了一伙扯旋儿的,前段时间还说没什么强度,看来这是…

收集飞花令碎片——C语言内存函数 - 实践

收集飞花令碎片——C语言内存函数 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

绍兴一对一课外辅导机构推荐:2025年综合适配度排行榜

越城区的小学家长愁孩子数学应用题总卡壳,柯桥区的初中家长为物理难点补习犯难,诸暨市的高中家长急着找高考冲刺的一对一家教,就连上虞区、嵊州市、新昌县的各学段家长,也都在为选课外辅导机构或平台头疼不已! 地…

绍兴一对一家教辅导机构推荐:2025权威测评排行榜,第一个性价比最高

“孩子数学压轴题总卡壳,换了两家一对一辅导机构都没效果,靠谱的小学、初中、高中课外辅导平台到底在哪找?”这位来自越城区家长的焦虑,在柯桥区、上虞区、诸暨市,乃至嵊州市、新昌县的家长中极具代表性——毕竟小…

天门一对一家教机构终极推荐:2026最新辅导机构口碑TOP榜单!真实反馈闭眼选

“给孩子选一对一补习平台,比给自己找工作还难!” 这是天门竟陵街道家长王女士最近的感慨。她的孩子上初二,数学成绩一直在及格线徘徊,两个月内试了 3 家机构,要么老师讲课照本宣科,要么课后没人管,钱花了不少,…

计算机视觉:YOLO实现目标识别+目标跟踪技术 pyqt界面 OpenCV 计算机视觉 深度学习 计算机(建议收藏)✅ - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年电线电缆厂家 TOP 企业品牌推荐排行榜11月更新:消防 / 耐火 / 防火/ 阻燃 / 阻燃B1级 / 矿物质防火/ 柔性防火 / 低烟无卤火电缆电线推荐!

在工业生产升级与民生基建加速的当下,电线电缆作为能量传输与信号传递的核心载体,其质量稳定性与性能适配性直接决定了工程安全与运行效率。当前市场中,电线电缆企业数量庞大,但部分中小型厂家存在原材料以次充好、…

潜江一对一课外辅导机构推荐,2026最新家教机构排行榜:靠谱不踩坑指南

潜江园林街道、泽口街道的家长,或是广华寺街道、周矶街道的朋友,还有杨市街道、泰丰街道以及高石碑镇、熊口镇、老新镇、龙湾镇的宝爸宝妈们,乃至张金镇、浩口镇、积玉口镇、渔洋镇、王场镇、竹根滩镇的乡亲们,是不…

Python的类对象、实例对象、类属性、实例属性、类方法、实例方法

Python的类对象、实例对象、类属性、实例属性、类方法、实例方法原文链接: https://blog.csdn.net/qq_44154915/article/details/134047553简易理解(快速理解)类对象:定义的类就是类对象 实例对象:类对象实例化后就是…

潜江一对一课外补习机构推荐:2026 最新教育机构天花板榜单!提分快还省钱

孩子语文阅读理解总丢分,数学公式记不牢,英语单词背了就忘,物理电学摸不着头脑,化学方程式不会配平,史地政知识点记不住?潜江家长给孩子找一对一辅导,是不是总陷入这样的纠结?“潜江城区、广华寺街道、浩口镇、…

2026年池州一对一家教机构推荐:五大辅导机构测评排行榜,综合实力全解析!

池州家长为孩子选小学、初中、高中一对一家教辅导时,盼从口碑排名靠谱的教育机构中,找兼顾课外补习与升学培优的培训选择 —— 既想靠针对性补课填知识缺口、跟校内进度,也盼借系统辅导提学习能力、为升学铺路,却常…