代码随想录算法训练营第六十四天|卡码网KamaCoder47. 参加科学大会、94. 城市间货物运输 I
47. 参加科学大会题目链接47. 参加科学大会B站讲解#includeiostream#includevector#includelist#includequeue#includeclimitsusingnamespacestd;// 小顶堆classmycomparison{public:booloperator()(constpairint,intlhs,constpairint,intrhs){returnlhs.secondrhs.second;}};// 定义一个结构体来表示带权重的边structEdge{intto;// 邻接顶点intval;// 边的权重Edge(intt,intw):to(t),val(w){}// 构造函数};intmain(){intn,m,p1,p2,val;cinnm;vectorlistEdgegrid(n1);for(inti0;im;i){cinp1p2val;// p1 指向 p2权值为 valgrid[p1].push_back(Edge(p2,val));}intstart1;// 起点intendn;// 终点// 存储从源点到每个节点的最短距离std::vectorintminDist(n1,INT_MAX);// 记录顶点是否被访问过std::vectorboolvisited(n1,false);// 优先队列中存放 pair节点源点到该节点的权值priority_queuepairint,int,vectorpairint,int,mycomparisonpq;// 初始化队列源点到源点的距离为0所以初始为0pq.push(pairint,int(start,0));minDist[start]0;// 起始点到自身的距离为0while(!pq.empty()){// 1. 第一步选源点到哪个节点近且该节点未被访问过 通过优先级队列来实现// 节点 源点到该节点的距离pairint,intcurpq.top();pq.pop();if(visited[cur.first])continue;// 2. 第二步该最近节点被标记访问过visited[cur.first]true;// 3. 第三步更新非访问节点到源点的距离即更新minDist数组for(Edge edge:grid[cur.first]){// 遍历 cur指向的节点cur指向的节点为 edge// cur指向的节点edge.to这条边的权值为 edge.valif(!visited[edge.to]minDist[cur.first]edge.valminDist[edge.to]){// 更新minDistminDist[edge.to]minDist[cur.first]edge.val;pq.push(pairint,int(edge.to,minDist[edge.to]));}}}if(minDist[end]INT_MAX)cout-1endl;// 不能到达终点elsecoutminDist[end]endl;// 到达终点最短路径}94. 城市间货物运输 I题目链接 94. 城市间货物运输 IB站讲解#includeiostream#includevector#includelist#includeclimitsusingnamespacestd;intmain(){intn,m,p1,p2,val;cinnm;vectorvectorintgrid;// 将所有边保存起来for(inti0;im;i){cinp1p2val;// p1 指向 p2权值为 valgrid.push_back({p1,p2,val});}intstart1;// 起点intendn;// 终点vectorintminDist(n1,INT_MAX);minDist[start]0;for(inti1;in;i){// 对所有边 松弛 n-1 次for(vectorintside:grid){// 每一次松弛都是对所有边进行松弛intfromside[0];// 边的出发点inttoside[1];// 边的到达点intpriceside[2];// 边的权值// 松弛操作// minDist[from] ! INT_MAX 防止从未计算过的节点出发if(minDist[from]!INT_MAXminDist[to]minDist[from]price){minDist[to]minDist[from]price;}}}if(minDist[end]INT_MAX)coutunconnectedendl;// 不能到达终点elsecoutminDist[end]endl;// 到达终点最短路径}

相关新闻

一人公司:意义重合最理想的实践场域,专知智库OPC研究院研究发现了一个根本性的真相

一人公司:意义重合最理想的实践场域,专知智库OPC研究院研究发现了一个根本性的真相

一人公司:意义重合最理想的实践场域专知智库OPC研究院用五年研究,发现了一个根本性的真相:意义,不是想出来的,是做出来的。不是哲学思辨,是实践产物。不是遥远彼岸,是日常每一天。而一人公司&am…

2026/7/9 11:05:24 阅读更多 →
专知智库OPC研究院用“意义重合”回答:人的意义,在于让个人的热爱与产业的需要、自我的价值与社会的贡献,在那个点上重合。

专知智库OPC研究院用“意义重合”回答:人的意义,在于让个人的热爱与产业的需要、自我的价值与社会的贡献,在那个点上重合。

专知智库OPC研究院用“意义重合”回答:人的意义,在于让个人的热爱与产业的需要、自我的价值与社会的贡献,在那个点上重合。东西方追寻的,甚至个人终其一生所追寻的,可能正是一人公司这是一个大胆的论断,但专…

2026/7/7 14:39:14 阅读更多 →
PHP依赖注入的庖丁解牛

PHP依赖注入的庖丁解牛

PHP 依赖注入(Dependency Injection, 简称 DI)是现代 PHP 框架(如 Laravel, Symfony, Hyperf)的灵魂。 它不仅仅是一种“传参技巧”,而是一套**解耦代码、提升可测试性、实现控制反转(IoC)**的架…

2026/7/8 8:07:03 阅读更多 →

最新新闻

SAM 提示编码器实战:4种输入类型(点/框/文本/掩码)的代码实现与效果评测

SAM 提示编码器实战:4种输入类型(点/框/文本/掩码)的代码实现与效果评测

SAM提示编码器实战:4种输入类型的代码实现与效果评测在计算机视觉领域,Segment Anything Model(SAM)的出现彻底改变了图像分割的游戏规则。作为Meta AI推出的基础模型,SAM以其强大的零样本迁移能力和灵活的提示机制&am…

2026/7/9 16:58:57 阅读更多 →
2026年重庆地区企业售后情况技术解析:以山三云企为例探讨售后要点

2026年重庆地区企业售后情况技术解析:以山三云企为例探讨售后要点

在重庆地区,企业售后情况一直是关注焦点。随着2026年市场环境的变化,售后技术对于企业的重要性愈发凸显。售后技术是指企业在产品售出后,为客户提供的一系列服务技术,其核心应用价值在于提升客户满意度,增强客户忠诚度…

2026/7/9 16:58:57 阅读更多 →
缺口150万,月薪过万!网络安全成了2026年最抢手的“铁饭碗”

缺口150万,月薪过万!网络安全成了2026年最抢手的“铁饭碗”

缺口150万,月薪过万!网络安全成了2026年最抢手的“铁饭碗” 如果你还以为网络安全就是“修电脑、杀病毒”,那你的认知该更新了。现在的真实行情是:全国网络安全人才缺口已突破150万,企业拿着高薪都招不到人。有3年经验…

2026/7/9 16:56:56 阅读更多 →
AI训练数据版权争议:苹果被诉非法抓取YouTube视频

AI训练数据版权争议:苹果被诉非法抓取YouTube视频

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 这次我们来关注一个涉及AI训练数据来源的重要法律争议。苹果公司被三家YouTube频道起诉,指控其非法抓取数百万段受版权保护…

2026/7/9 16:54:55 阅读更多 →
三张财务报表怎么看?利润、资产、现金流要串起来理解

三张财务报表怎么看?利润、资产、现金流要串起来理解

做经营分析这些年,我发现一个很普遍的问题。 很多企业的财务报表做得越来越细; 管理报表越来越厚; 但真正能回答经营问题的分析却越来越少。 老板看利润表,发现利润增长了,觉得经营不错; 财务看资产负…

2026/7/9 16:52:55 阅读更多 →
C++队列数据结构实现:从数组循环队列到链表动态队列的底层原理与实战

C++队列数据结构实现:从数组循环队列到链表动态队列的底层原理与实战

1. 项目概述:为什么需要自己动手实现队列?在C的世界里,提到队列,很多人的第一反应就是STL里的std::queue。它封装得很好,拿来就用,确实方便。但作为一个有追求的C开发者,尤其是在面试、学习底层…

2026/7/9 16:50:54 阅读更多 →

日新闻

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 还在为Foobar2000找不到高质…

2026/7/9 0:01:04 阅读更多 →
ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍 【免费下载链接】ElegantBook Elegant LaTeX Template for Books 项目地址: https://gitcode.com/gh_mirrors/el/ElegantBook 你是否曾经为学术书籍的封面设计而烦恼?想要一个既专业又美观的封…

2026/7/9 0:03:06 阅读更多 →
如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南 【免费下载链接】pyodbc Python ODBC bridge 项目地址: https://gitcode.com/gh_mirrors/py/pyodbc 在当今数据驱动的商业环境中,企业级数据库连接已成为现代应用开发的核心需求。pyodbc作为一款强大…

2026/7/9 0:07:11 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻