贪心 + 分层图bfs,newcoder 76652/B
目录
一、题目
1、题目描述
2、输入输出
2.1输入
2.2输出
3、原题链接
二、解题报告
1、思路分析
2、复杂度
3、代码详解
一、题目
1、题目描述
2、输入输出
2.1输入
2.2输出
3、原题链接
https://ac.nowcoder.com/acm/contest/76652/B
二、解题报告
1、思路分析
以(0, 0) 为起点,进行bfs
bfs可以每次扩展一层,我们每次选择可扩展位置中字符最小的那些
这样我们会进行多路增广
由于路径长度为n + m - 1,所以只需增广 n + m - 1 次
2、复杂度
时间复杂度: O(NMlogNM)空间复杂度:O(NM)
3、代码详解
#include <bits/stdc++.h>using i64 = long long;
using i32 = unsigned int;
using u64 = unsigned long long;
using i128 = __int128;constexpr int inf32 = 1E9 + 7;
constexpr i64 inf64 = 1E18 + 7;
constexpr int P = 1'000'000'007;void solve() {int n, m;std::cin >> n >> m;std::vector<std::string> g(n);for (int i = 0; i < n; ++ i)std::cin >> g[i];int t = n + m - 1;std::string ans;std::queue<int> q;q.push(0);std::vector<int> vis(n * m);vis[0] = true;constexpr int dir[3]{1, 0, 1};while (t --) {ans += g[q.front() / m][q.front() % m];std::vector<int> buf;while(q.size()) {int i = q.front();q.pop();int x = i / m, y = i % m;for (int k = 0; k < 2; ++ k) {int nx = dir[k] + x, ny = dir[k + 1] + y;if (nx < 0 || ny < 0 || nx >= n || ny >= m || vis[nx * m + ny]) continue;buf.push_back(nx * m + ny);vis[nx * m + ny] = true;}}std::sort(buf.begin(), buf.end(), [&](int i, int j) -> bool{return g[i / m][i % m] < g[j / m][j % m];});for (int i = 0; i < buf.size() && g[buf[0] / m][buf[0] % m] == g[buf[i] / m][buf[i] % m]; ++ i)q.push(buf[i]);}std::cout << ans;
}auto FIO = []{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);return 0;
}();int main () {#ifdef DEBUGfreopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);#endifint T = 1;// std::cin >> T;while (T --)solve();return 0;
}
相关文章:
![](https://i-blog.csdnimg.cn/direct/3f97dea913744a5fba2d7bcea8714f0a.png)
贪心 + 分层图bfs,newcoder 76652/B
目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 https://ac.nowcoder.com/acm/contest/76652/B 二、解题报告 1、思路分析…...
![](https://www.ngui.cc/images/no-images.jpg)
如何在Linux上部署Java Web应用程序
在Linux上部署Java Web应用程序是一个常见的任务,本文将介绍一种常用的方法,分为以下几个步骤: 准备服务器 首先,你需要准备一台运行Linux操作系统的服务器。你可以选择使用各种不同的Linux发行版,如Ubuntu、CentOS等…...
![](https://img-blog.csdnimg.cn/img_convert/ecc42894101295da612341650d086576.jpeg)
SpringBoot 整合 Excel 轻松实现数据自由导入导出
01、背景介绍 在实际的业务系统开发过程中,操作 Excel 实现数据的导入导出基本上是个非常常见的需求。 之前,我们有介绍一款非常好用的工具:EasyPoi,有读者提出在数据量大的情况下,EasyPoi 会占用内存大,…...
![](https://www.ngui.cc/images/no-images.jpg)
PyTorch 基础学习(13)- 混合精度训练
系列文章: 《PyTorch 基础学习》文章索引 基本概念 混合精度训练是深度学习中一种优化技术,旨在通过结合高精度(torch.float32)和低精度(如 torch.float16 或 torch.bfloat16)数据类型的优势,…...
![](https://i-blog.csdnimg.cn/direct/7772a09176354393abf15e7ae5aef7fd.png)
Mycat分片-垂直拆分
目录 场景 配置 测试 全局表配置 续接上篇:MySQ分库分表与MyCat安装配置-CSDN博客 续接下篇:Mycat分片-水平拆分-CSDN博客 场景 在业务系统中, 涉及以下表结构 ,但是由于用户与订单每天都会产生大量的数据, 单台服务器的数据 存储及处理能力是有限…...
![](https://i-blog.csdnimg.cn/direct/f6d42cdeec9f4d0692ee7c486df15037.png)
一元四次方程求解-【附MATLAB代码】
目录 前言 求解方法 编辑 MATLAB验证 附:一元四次方程的故事 前言 最近在研究机器人的干涉(碰撞)检测,遇到了一个问题,就是在求椭圆到原点的最短距离时,构建的方程是一个一元四次方程。无论是高中的…...
![](https://i-blog.csdnimg.cn/direct/43fba4a78076488a84ec9e76acade4f1.jpeg)
【极限性能,尽在掌控】ROG NUC:游戏与创作的微型巨擘
初见ROG NUC,你或许会为它的小巧体型惊讶。然而,这看似不起眼的机身内,蕴藏着游戏、创意的强大能量。 掌中风暴,性能无界 ROG NUC搭载英特尔高性能处理器,配合高速NVMe SSD固态硬盘以及可选的高端独立显卡(…...
![](https://img-blog.csdnimg.cn/img_convert/b83baf3eb62b41661cadde23cec592f9.png)
Ecosmos开启公测,将深度赋能CIOE中国光博会元宇宙参会新体验
如今,生成式AI技术的发展,极大地降低了3D数字资产的制作成本,元宇宙作为一种可以无缝将物理和数字资产进行融合的技术,在推动电子产业数字化进程、助力产业高质量发展的方面展现出了巨大的潜力。 当前,发展新质生产力是…...
![](https://i-blog.csdnimg.cn/direct/0b3cd40dc86f43208fc1ec70d1a3e99d.png)
【Kubernetes】k8s集群之包管理器Helm
目录 一.Helm概述 1.Helm的简介 2.Helm的三个重要概念 3.Helm2与Helm3的的区别 二.Helm 部署 1.安装 helm 2.使用 helm 安装 Chart 3.Helm 自定义模板 4.Helm 仓库 每个成功的软件平台都有一个优秀的打包系统,比如Debian、Ubuntu 的 apt,RedH…...
![](https://www.ngui.cc/images/no-images.jpg)
嵌入式linux系统镜像制作day3(构建镜像)
点击上方"蓝字"关注我们 01、上节回顾 嵌入式linux系统镜像制作day1嵌入式linux系统镜像制作day2提前下载好准备工具,不然失败了大眼瞪小眼。 02、构建 Poky 的 Sato 镜像1 环境: ubuntu18.04poky版本:Dizzy 工具git 在开始之前,针对不同的发行版,需要先执行…...
![](https://i-blog.csdnimg.cn/direct/dea8591ebee64a10b2b78f6d10080244.jpeg#pic_center)
【生日视频制作】教师节中秋节国庆节车模特美女举牌AE模板修改文字软件生成器教程特效素材【AE模板】
教师节中秋节国庆节车模特美女举牌生日视频制作教程AE模板改文字软件生成器素材 怎么如何做的【生日视频制作】教师节中秋节国庆节车模特美女举牌AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤: 安装AE软件下载AE模板把AE模板导入AE软件修改图…...
![](https://img-blog.csdnimg.cn/img_convert/999233961b173ea8adca885e6710c509.png)
RongCallKit iOS 端本地私有 pod 方案
RongCallKit iOS 端本地私有 pod 方案 需求背景 适用于源码集成 CallKit 时,使用 pod 管理 RTC framework 以及源码。集成 CallKit 时,需要定制化修改 CallKit 的样式以及部分 UI 功能。适用于 CallKit 源码 Debug 调试便于定位相关问题。 解决方案 从…...
![](https://i-blog.csdnimg.cn/direct/c06cba2b8b84495797502472ff846b72.png)
C++11:可变参数模板
目录 一、概述 二、场景 1.深拷贝的类 2.浅拷贝的类 C使用指南 一、概述 // Args是一个模板参数包,args是一个函数形参参数包 // 声明一个参数包Args...args,这个参数包中可以包含0到任意个模板参数。 template <class ...Args> void ShowList(…...
![](https://i-blog.csdnimg.cn/direct/dae49ce619cd44a38d8ef49746c9446c.png)
C++ 与 QML 之间进行数据交互的几种方法
https://www.cnblogs.com/jzcn/p/17774676.html 一、属性绑定 这是最简单的方式,可以在QML中直接绑定C 对象的属性。通过在C 对象中使用Q_PROPERTY宏定义属性,然后在QML中使用绑定语法将属性与QML元素关联起来。 1. person.h #include <QObject&g…...
![](https://i-blog.csdnimg.cn/direct/38b5cd2c95594efea43c2b6f3948eb0e.png)
Javaweb学习之Vue项目的创建(二)
学习资料 Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org) 准备工作都做完了,接下来开始Vue的正式学习。 第一步,打开VS Code 在VS Code里,我们也需要使用到终端,如果不是以管理员身份打开,在新建Vue项目的时候…...
![](https://img-blog.csdnimg.cn/direct/59b4a9db64e44ea781bfdc2774f1c0ba.png)
『深度长文』4种有效提高LLM输出质量的方法!
LLM,全称Large Language Model,意为大型语言模型,是一种基于深度学习的AI技术,能够生成、理解和处理自然语言文本,也因此成为当前大多数AI工具的核心引擎。LLM通过学习海量的文本数据,掌握了词汇、语法、语…...
![](https://img-blog.csdnimg.cn/img_convert/ab542546b64b3afdbe2e9cf5556af6e5.png)
【工业机器人】工业异常检测大模型AnomalyGPT
AnomalyGPT 工业异常检测视觉大模型AnomalyGPT AnomalyGPT: Detecting Industrial Anomalies using Large Vision-Language Models AnomalyGPT是一种基于大视觉语言模型(LVLM)的新型工业异常检测(IAD)方法。它利用LVLM的能力来理…...
![](https://www.ngui.cc/images/no-images.jpg)
【PGCCC】PostgreSQL案例:planning time超长问题分析#PG初级
在使用 PostgreSQL 时,查询的执行计划(planning time)有时会出现异常长的情况,这可能会影响数据库的整体性能。分析和解决这种问题可以从多个角度入手,以下是常见原因和相应的解决思路: 1. 统计信息不准确…...
![](https://i-blog.csdnimg.cn/direct/2526a93c695849a7a130d55b71945a6a.png)
【图文并茂】ant design pro 如何给后端发送 json web token - 请求拦截器的使用
上一节有讲过 【图文并茂】ant design pro 如何对接后端个人信息接口 还差一个东西,去获取个人信息的时候,是要发送 token 的,不然会报 403. 就是说在你登录之后才去获得个人信息。这样后端才能知道是谁的信息。 token 就代码了某个人。 …...
![](https://i-blog.csdnimg.cn/direct/e635f02d44594effa0159e1a74303280.png)
【微信小程序】自定义组件 - behaviors
1. 什么是 behaviors 2. behaviors 的工作方式 3. 创建 behavior 调用 Behavior(Object object) 方法即可创建一个共享的 behavior 实例对象,供所有的组件使用: 4. 导入并使用 behavior 5. behavior 中所有可用的节点 6. 同名字段的覆盖和组合规则* 关…...
![](https://i-blog.csdnimg.cn/direct/efc559bfebca49c3bd7fee54b377a37d.png#pic_center)
Linux ubuntu 24.04 安装运行《帝国时代3》免安装绿色版游戏,解决 “Could not load DATAP.BAR”等问题
Linux ubuntu 24.04 安装运行《帝国时代3》游戏,解决 “Could not load DATAP.BAR" 等问题 《帝国时代 3》是一款比较经典的即时战斗游戏,伴随了我半个高中时代,周末有时间就去泡网吧,可惜玩的都是简单人机,高难…...
![](https://www.ngui.cc/images/no-images.jpg)
Springboot 图片
Springboot 图片 因为 server.servlet.context-path: /api 所以 url是这个的时候 http://127.0.0.1:9100/api/staticfiles/image/dd56a59d-da84-441a-8dac-1d97f9e42090.jpeg 配置代码的前面的 /api 是不要写的 package com.gk.study.config;import org.springframework.conte…...
![](https://www.ngui.cc/images/no-images.jpg)
LIMS实验室管理系统如何实现数据自动采集
随着科研技术的不断发展,LIMS实验室管理系统的应用也愈来愈广,已经成为现代化实验室管理不可或缺的工具。LIMS实验室管理系统未与仪器设备对接前,仪器设备产生的数据都是通过人工录入到系统中,再经过人工审核形成最终的数据报告。…...
![](https://i-blog.csdnimg.cn/direct/45496f1d81f4418098dcf3198912576d.jpeg)
全自动商用油炸锅介绍:
全自动商用油炸锅是一种专门为商业用途设计的厨房设备,旨在高效、节能、卫生地完成大量食品的油炸加工。这种设备通常采用油水混合技术,能够自动过滤残渣,延长换油周期,从而大大降低用油成本。全自动商用油炸锅适合中、小型油炸…...
![](https://i-blog.csdnimg.cn/direct/36c80d481e354f3c9b571f22231bacba.png)
CE修改器的简单使用
前言 这个系列目前是出于兴趣爱好,最终目的是为了可以用代码控制修改单机游戏。 这篇文章的对象是《植物大战僵尸杂交版》,其余游戏类似。 博客仅做技术研究使用,禁止用作商业用途。 1,安装CE修改器 到官网进行下载ÿ…...
![](https://www.ngui.cc/images/no-images.jpg)
element-plus el-cascader懒加载怎么指定对应的label和value。最后一级怎么判断?
<el-cascader:props"props"placeholder"请选择现地址所在地"v-model"currentaddress"ref"currentaddressRef"change"currentaddressChange"style"width:100%"clearable/> 懒加载需要用到props。 const pro…...
![](https://www.ngui.cc/images/no-images.jpg)
pdf查看密码
pdf有两种密码方式,一种是打开后进入文件内容页面后需要密码才能进行修改等操作,网上有很多方式进行移除密码操作,第二种是打开就需要密码,我这里简单记录一个暴力破解的方式,仅供参考 import PyPDF2 import itertools…...
![](https://i-blog.csdnimg.cn/direct/1c2bd1aef72c4d6b9913fd615ad05bd0.png)
从bbl和overleaf版本解决Arxiv提交后缺失参考文献Citation on page undefined on input line
debug 食用指南:框架/语言:问题描述:解决方案:问题原因:版本解决方案: 安利时间: 食用指南: 框架使用过程中的问题首先要注意版本发布时间造成方法弃用 当你在CSDN等网站查找不到最…...
![](https://img-blog.csdnimg.cn/img_convert/0abd0b6203464c50c29b58bc424f7033.png)
Flutter【01】状态管理
声明式编程 Flutter 应用是 声明式 的,这也就意味着 Flutter 构建的用户界面就是应用的当前状态。 当你的 Flutter 应用的状态发生改变时(例如,用户在设置界面中点击了一个开关选项)你改变了状态,这将会触发用户界面…...
![](https://i-blog.csdnimg.cn/direct/949fc4324c574531a5b90bbe02f15c2d.png)
(转载)使用zed相机录制视频
参照下面这个链接 https://blog.csdn.net/peng_258/article/details/127457199?ops_request_misc&request_id&biz_id102&utm_termzed2%E5%BD%95%E5%88%B6%E6%95%B0%E6%8D%AE%E9%9B%86&utm_mediumdistribute.pc_search_result.none-task-blog-2~all~sobaiduweb…...
![](https://www.oschina.net/img/hot3.png)
为什么建行网站打不开/谷歌seo是什么
为什么80%的码农都做不了架构师?>>> 1. Menu(左侧菜单生成标签) 1.1. 参数 属性名类型描述是否必须默认值stylestring菜单样式否nullparentFunstring一级菜单是nullchildFunstring二级菜单是null1.2. 用法 <t:menu parentFun"${parentFun}&quo…...
![](/images/no-images.jpg)
徐州哪家做网站好/网站用户体验优化
在64位 OL7 或者 RHEL7 上安装 Oracle Database 19c 数据库的要求在继续安装之前,请花一些时间认真复查以下各项要求,以避免安装二进制文件期间出现任何明显的问题。下载 Oracle Database 19c 软件从 OTN 下载 Oracle Database 19c 软件 - https://www.o…...
![](/images/no-images.jpg)
效果图哪个网站好/app关键词排名优化
以下是Linux基本命令df和linux中du命令参数介绍,希望对您的学习有所帮助。 一、linux中df命令参数: linux中df命令参数用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。 如: …...
![](https://img2018.cnblogs.com/blog/1001582/201812/1001582-20181203160005483-1393278298.png)
东营网站建设哪家好/短视频优化
转载:https://www.cnblogs.com/fengxin666/p/10059058.html我接触到vue-grid-layout是通过我们公司的项目,感觉还是比较简单上手的,大概看了有1个小时吧,我是个行动派,就是觉得实践出真知,但是记性也不太好…...
![](/images/no-images.jpg)
备案网站应用服务/seo专业培训班
//这是一个在参数指定文件中连续写入当前时间的应用//文件以1秒为时间间隔,将当前的时间写入文件,然后回车换行//这是一个使用lseek在一个文件中连续写入字符串的应用#include #include #include #include int main(int argc,char *argv[]){int temp,see…...
![](/images/no-images.jpg)
外贸产品推广网站/唯尚广告联盟
MYSQL语法测试:CASE WHEN THEN LESE END 文章目录MYSQL语法测试:CASE WHEN THEN LESE END官方文档CASE语法语法1语法2测试语法1测试语法2测试(实用案例)注意官方文档 https://dev.mysql.com/doc/refman/5.7/en/case.html CASE语法 语法1 CASE case_v…...