01 bfs 学习笔记

news/2024/10/18 9:55:05/文章来源:https://www.cnblogs.com/CodingGoat/p/18473614

当一张图的边权只有 \(0\)\(1\) 时,跑 dij 的堆优化显得比较累赘。因为只有两个取值,所以取 \(0\) 的时候在队列前面推进来,反之在后面。其他和 dij 没什么区别,时间复杂度 \(O(m)\),其中 \(m\) 是边数。

相关题目:P4554 小明的游戏。

点击查看代码
void work() {m0(vis); mem(dis,0x3f);For(i,0,n-1) For(j,0,m-1) cin>>ch[i][j];cin>>stx>>sty>>edx>>edy; dis[stx][sty]=0;deque<node>q; while(!q.empty()) q.pop_front();q.push_front({stx,sty});while(!q.empty()) {auto [x,y]=q.front(); q.pop_front();
//		cout<<x<<' '<<y<<'\n';if(vis[x][y]) continue;vis[x][y]=1;For(i,1,4) {int X=x+dx[i],Y=y+dy[i];if(X>=n||X<0||Y>=m||Y<0) continue;int val=(ch[x][y]!=ch[X][Y]);if(dis[x][y]+val>=dis[X][Y]) continue;dis[X][Y]=dis[x][y]+val;if(ch[x][y]==ch[X][Y]) {q.push_front({X,Y});} else {q.push_back({X,Y});}}}cout<<dis[edx][edy]<<'\n';
}

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

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

相关文章

怎么修改网站ftp密码?

修改网站FTP密码的方法取决于你使用的FTP服务提供商或Web主机控制面板。以下是一些常见的方法:通过cPanel修改FTP密码:登录到你的cPanel账户。 在文件部分找到“FTP 账户”选项并点击。 找到你想要更改密码的FTP账户。 点击“更改密码”或类似的按钮。 输入新密码,并确认。 …

麻将计分器微信小程序的开发

如何开发微信小程序 前言 因为最近沉迷和朋友们一起下班去打麻将,他们推荐了一个计分的小程序,就不需要每局都转账或者用扑克牌记录了,但是这个小程序不仅打开有广告,各个页面都植入了广告,用起来十分不适。 于是我就心里暗自下定决心,一定要撸一个没有广告的小程序。一周…

python+selenium+pycharm自动化环境搭建

一、python环境搭建: 工具及驱动: 通过百度网盘分享的文件:自动化学习链接:https://pan.baidu.com/s/1_-KX_s1WeLBa7UV3y0H3zQ 提取码:m8nx 1. python下载地址: 官网下载地址:https://www.python.org/57 2.根据自己的电脑环境下载安装即可; 3.环境变量配置:将D:\pytho…

模板网站可以修改内容吗?网站修改资料页面模板?

模板网站通常提供了多种方式让用户自定义和修改内容,具体方法取决于所使用的模板平台或工具。以下是几种常见的修改方式:文本编辑:大多数模板网站允许用户直接在页面上编辑文本内容,如标题、段落等。 图片更换:用户可以通过上传自己的图片来替换模板中的默认图片。 颜色调…

TowardsDataScience-博客中文翻译-2022-五十二-

TowardsDataScience 博客中文翻译 2022(五十二)原文:TowardsDataScience 协议:CC BY-NC-SA 4.0一维信号的迁移学习原文:https://towardsdatascience.com/transfer-learning-with-a-one-dimensional-signal-76a0d543e9aa加上数据洞察力图片作者。 目录——简介 ——信号统计…

网站中的修改在后台哪里?

对于大多数网站来说,修改内容通常需要通过后台管理系统进行。具体步骤可能因不同网站而异,但一般流程如下:登录后台:首先,你需要登录到网站的后台管理系统。这通常需要一个管理员账号或具有相应权限的账号。 找到内容管理:登录后,查找“内容管理”、“页面管理”或类似名…

TowardsDataScience-博客中文翻译-2022-四十四-

TowardsDataScience 博客中文翻译 2022(四十四)原文:TowardsDataScience 协议:CC BY-NC-SA 4.0Python 中的求根方法原文:https://towardsdatascience.com/root-finding-methods-from-scratch-in-python-84040c81a8ba使用 Python 的二分法、牛顿法和割线法数学求根算法 介绍…

TowardsDataScience-博客中文翻译-2022-四十九-

TowardsDataScience 博客中文翻译 2022(四十九)原文:TowardsDataScience 协议:CC BY-NC-SA 4.0测量误差对线性回归模型的影响原文:https://towardsdatascience.com/the-effect-of-measurement-errors-on-a-linear-regression-model-c853bb689974图片由皮克斯贝 ( 牌照)的安…

TowardsDataScience-博客中文翻译-2022-二十九-

TowardsDataScience 博客中文翻译 2022(二十九)原文:TowardsDataScience 协议:CC BY-NC-SA 4.0如何使用计算机视觉读取酒瓶上的标签?(第一部分)原文:https://towardsdatascience.com/how-to-read-a-label-on-a-wine-bottle-using-computer-vision-part-1-25447f97a761欢迎…

格点拉格朗日插值与PME算法

本文介绍了使用基于格点拉格朗日插值法的Particle Mesh Ewald算法,降低分子力场中的静电势能项计算复杂度的基本原理。静电势能的计算在Ewald求和框架下被拆分成了远程相互作用项和短程相互作用项,其中短程相互作用项关于实空间的点电荷间距快速收敛,而远程相互作用项在倒易…

公司网站怎么修改?数据库内网站密码修改?

修改公司网站通常涉及以下几个步骤:确定需求:明确需要修改的内容,如页面设计、功能增加或信息更新等。 收集相关资料和内容,确保所有需要的信息都准备齐全。选择工具或平台:如果网站是基于WordPress、Joomla等CMS系统构建的,可以通过后台直接进行编辑。 对于自定义开发的…

修改默认登录网站密码?

修改默认登录网站密码通常涉及以下几个步骤,具体操作可能会根据不同的网站或系统有所差异:登录账户:打开你需要修改密码的网站。 使用当前的用户名和密码登录你的账户。进入账户设置:登录后,找到并点击“账户”、“个人资料”或“设置”等相关链接或按钮。 在账户设置页面…