第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(4、最大空白区)

参考程序1:

#include <bits/stdc++.h>
using namespace std;int main() {int N, M;cin >> N >> M;vector<vector<int>> grid(N, vector<int>(M));for (int i = 0; i < N; ++i)for (int j = 0; j < M; ++j)cin >> grid[i][j];// 构建二维前缀和,sum[i][j] 表示从 (0,0) 到 (i-1,j-1) 的格子中有多少个1vector<vector<int>> sum(N+1, vector<int>(M+1, 0));for (int i = 1; i <= N; ++i) {for (int j = 1; j <= M; ++j) {sum[i][j] = sum[i-1][j] + sum[i][j-1] - sum[i-1][j-1] + grid[i-1][j-1];}}int maxArea = 0;// 枚举所有左上角 (r1,c1) 和右下角 (r2,c2)for (int r1 = 0; r1 < N; ++r1) {for (int c1 = 0; c1 < M; ++c1) {for (int r2 = r1; r2 < N; ++r2) {for (int c2 = c1; c2 < M; ++c2) {// 使用前缀和快速计算矩形内的格子和int total = sum[r2+1][c2+1] - sum[r1][c2+1] - sum[r2+1][c1] + sum[r1][c1];if (total == 0) { // 全是空白int area = (r2-r1+1) * (c2-c1+1);maxArea = max(maxArea, area);}}}}}cout << maxArea << "\n";return 0;
}

参考程序2:

#include <bits/stdc++.h>
using namespace std;int main() {int N, M;cin >> N >> M;vector<vector<int>> grid(N, vector<int>(M));for (int i = 0; i < N; ++i)for (int j = 0; j < M; ++j)cin >> grid[i][j];int maxArea = 0;// 枚举上边界 r1for (int r1 = 0; r1 < N; ++r1) {vector<int> col(M, 1); // 初始化每列为全空白(有效列)// 枚举下边界 r2 >= r1for (int r2 = r1; r2 < N; ++r2) {// 更新每列是否在 r1~r2 行之间全是空白for (int c = 0; c < M; ++c) {if (grid[r2][c] == 1) col[c] = 0; // 有草则列无效}// 找 col 中最长连续 1 的长度int width = 0;int maxWidth = 0;for (int c = 0; c < M; ++c) {if (col[c] == 1) width++;else width = 0;maxWidth = max(maxWidth, width);}int height = r2 - r1 + 1;maxArea = max(maxArea, maxWidth * height);}}cout << maxArea << "\n";return 0;
}

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

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

相关文章

文心一言-Agent岗三轮面试全记录

面经分享&#xff5c;文心一言-Agent岗三轮面试全记录 前段时间面试了 文心一言团队 - 大模型 Agent 岗&#xff0c;三轮面试下来感触颇多。整体来说&#xff0c;文心团队的面试节奏偏“循序渐进”&#xff1a;一面看基础&#xff0c;二面看综合素养&#xff0c;三面看思考深度…

【大前端++】几大特征

大纲 大前端业务模型结构如下&#xff1a; 服务后台大前端原生系统可定制的终端硬件 1、业务的起点技术结构基于跨平台前端框架 Electronvue/Rect/其他web框架js/ts FlutterDartvue/Rect/其他web框架js/ts 其他前端框架结构 2、有特定的业务使用场景 人脸识别考勤 数字…

计算机网络---网络体系结构

文章目录1. 网络的概念1.1 什么是计算机网络1.2 简单的计算机网络1.3 互联网&#xff08;或因特网&#xff0c;Internet&#xff09;1.4 计算机网络、互连网和互联网三者的区别1.5 总结2. 网络的组成、功能2.1 组成2.1.1 从组成部分看2.1.2 从工作方式看2.1.3 从逻辑功能看2.2 …

机器学习超参数调优全方法介绍指南

本篇文章Master Hyperparameter Tuning in Machine Learning适合希望深入了解超参数调优的读者。文章的亮点在于介绍了多种调优方法&#xff0c;如手动搜索、网格搜索、随机搜索、贝叶斯优化和元启发式算法&#xff0c;并通过实际案例展示了这些方法在复杂模型&#xff08;如CN…

怎么降低 AIGC 生成率?

怎么降低 AIGC 生成率&#xff1f;市面上那些号称 "AI 降重神器" 的工具真的有用吗&#xff1f;想和大家聊聊我的看法 ——人工修改生成内容&#xff0c;可能是目前最靠谱的办法。一、AI 降重工具的实际效果现在很多工具说能通过 AI 降低 AIGC 生成率&#xff0c;原理…

心磁图 QRS 参数在 Brugada 综合征心律失常风险分层中的应用

研究背景Brugada 综合征是一种与致命性室性心律失常及心源性猝死风险相关的遗传性心脏离子通道病&#xff0c;其典型特征为右胸导联&#xff08;V1-V3&#xff09;出现特征性ST段抬高&#xff08;1型、2型或3型 Brugada 心电图表现&#xff09;。然而&#xff0c;静息心电图呈现…

Futuring robot旗下家庭机器人F1将于2025年面世

2025年9月10日&#xff0c;张翼二次创业的机器人公司Futuring Robot发布了第一款家庭服务机器人F1。这款F1机器人不仅具备端茶送水、物品递送、家庭整理等日常服务能力&#xff0c;还深度融合了多项教育辅助功能&#xff0c;如学习陪伴、棋类对弈、作业进度管理等&#xff0c;旨…

User类CRUD实现

代码&#xff1a; WYend/Myblog_springbook3: 我的第一个个人网站&#xff08;后端版&#xff09; 随时更新 一、数据库的构建 交给ai 二、各类注解 Lombok注解 Data&#xff1a; 自动生成类的getter、setter、toString()、equals()、hashCode()方法适用于实体类&#xff…

【Linux | 网络】数据链路层

一、以太网1.1 认识以太网1.2 以太网帧格式1.3 MAC地址1.3.1 认识MAC地址1.3.2 MAC地址的类型1.3.3 MAC地址 VS IP地址1.4 局域网如何通信1.5 局域网数据碰撞1.5.1 数据碰撞1.5.2 划分碰撞域&#xff08;交换机&#xff09;二、ARP协议2.1 ARP协议的作用2.2 ARP数据报的格式2.3…

Google Ads广告验证全攻略:如何借助动态住宅IP精准投放?

在竞争激烈的数字广告领域&#xff0c;Google Ads扮演着至关重要的角色。然而&#xff0c;随着广告政策的不断更新和平台对广告质量要求的提高&#xff0c;广告验证已成为许多广告主绕不开的环节。同时&#xff0c;如何实现精准投放&#xff0c;将广告触达最相关的目标受众&…

鸿蒙Next Web组件生命周期详解:从加载到销毁的全流程掌控

想要精通鸿蒙应用开发&#xff1f;Web组件的9大生命周期回调是你必须掌握的上帝视角&#xff01;在鸿蒙应用开发中&#xff0c;Web组件是我们加载本地或在线网页的强大工具。它提供了完整的生命周期回调体系&#xff0c;让开发者能够精准感知网页加载的每个阶段&#xff0c;从而…

python学习进阶之异常和文件操作(三)

文章目录1.程序异常2.文件操作3.json操作1.程序异常 1.1 异常 异常概念&#xff1a; 程序在运行时, 如果Python解释器遇到到一个错误, 则会停止程序的执行, 并且提示一些错误信息, 这就是异常 抛出异常&#xff1a; 程序停止执行并且提示错误信息这个动作, 通常称之为抛出(ra…

NodeJS 8 ,从 0 到 1:npm 包发布与更新全流程指南( 含多场景适配与踩坑总结 )

目录 前言 一、准备工作 1.1 开发环境搭建 1.1.1 环境安装 1.1.2 配置问题 1.2 账号注册 1.2.1 账号注册&#xff08;两种方式&#xff09; 1.2.2 登录验证 1.2.3 个人设置 1.2.4 安全配置 1.3 初始配置 1.3.1 初始项目目录 1.3.2 关键字段详解 1.3.3 手动完善 二…

BERT中文预训练模型介绍

bert-base-chinese 是由谷歌基于 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;模型预训练得到的适用于中文任务的模型版本。以下从多个方面对其进行详细解释&#xff1a; 模型概述 BERT 是一种基于 Transformer 架构的预训练语言模型…

Archon01-项目部署

Archon01-项目部署当前已经参考B站视频针对代码进行修改&#xff0c;可直接使用BigModel智谱的GLM-4.5替换openAI进行使用&#xff0c;部署环境&#xff08;Python3.12-slim环境&#xff09;1-核心知识点关键字&#xff1a; Docker Supabase Archon BigModel Python1&#xff0…

HarmonyOS时间戳完全指南:DevEco Studio中的时间处理与实战应用

时间戳是现代应用开发中不可或缺的基础功能&#xff0c;无论是日志记录、数据同步、缓存管理还是状态追踪都离不开时间戳的支持。本文将深入探讨在DevEco Studio中如何处理和使用时间戳&#xff0c;并提供丰富的实战示例。一、时间戳基础概念什么是时间戳&#xff1f;时间戳&am…

论文笔记:On the Biology of a Large Language Model

《关于大型语言模型的生物学》&#xff08;On the Biology of a Large Language Model&#xff09;的文章&#xff0c;深入探究了 Anthropic 公司 Claude 3.5 Haiku 模型的内部工作机制。研究人员将理解语言模型比作生物学研究&#xff0c;旨在揭示其复杂行为背后的“神经回路”…

TCP/IP、HTTP 和 HTTPS简介

我们来系统地介绍一下 TCP/IP、HTTP 和 HTTPS。它们之间的关系可以概括为&#xff1a;​​HTTP 和 HTTPS 是运行在 TCP/IP 基础网络架构之上的具体应用协议​​。为了更直观地理解它们之间的关系&#xff0c;我们可以参考下面的网络分层模型&#xff1a;flowchart TDsubgraph A…

【30】C#实战篇——获取路径下的文件名(不包含路径和扩展名),文件名由连续的数字编号+连续的字母编号组成,并分离出文件名数字部分和英文部分

文章目录1 要求2 分析 与 实现1 要求 写一个函数&#xff0c;获取路径下的文件名&#xff08;不包含路径和扩展名&#xff09;&#xff0c;并分离出文件名fileName &#xff0c;文件名编号SN&#xff0c;文件名前缀WMT &#xff1b; 输入文件路径&#xff0c;解析出不带"…

EasyExcel部署Docker缺少字体报错

报文 java.lang.NullPointerException: nullat sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)at sun.awt.FontConfiguration.init(FontConfiguration.java:107)at sun.awt.…