当前位置: 首页 > news >正文

GESP认证C++编程真题解析 | 202509 四级

编程题

B4415 排兵布阵

【题目来源】

洛谷:B4415 [GESP202509 四级] 排兵布阵 - 洛谷

【题目描述】

作为将军,你自然需要合理地排兵布阵。地图可以视为 \(n\)\(m\) 列的网格,适合排兵的网格以 \(1\) 标注,不适合排兵的网格以 \(0\) 标注。现在你需要在地图上选择一个矩形区域排兵,这个矩形区域内不能包含不适合排兵的网格。请问可选择的矩形区域最多能包含多少网格?

【输入】

第一行,两个正整数 \(n,m\),分别表示地图网格的行数与列数。

接下来 \(n\) 行,每行 \(m\) 个整数 \(a_{i,1},a_{i,2},…,a_{i,m}\),表示各行中的网格是否适合排兵。

【输出】

一行,一个整数,表示适合排兵的矩形区域包含的最大网格数。

【输入样例】

4 3
0 1 1
1 0 1
0 1 1
1 1 1

【输出样例】

4

【算法标签】

《洛谷 B4415 排兵布阵》 #枚举# #GESP# #2025#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 15;  // 定义矩阵的最大尺寸int n, m;          // 矩阵的行数和列数
int maxn = 0;      // 存储全1子矩阵的最大面积
int a[N][N];       // 存储原始矩阵
int sa[N][N];      // 存储二维前缀和数组int main()
{// 输入矩阵的行数和列数cin >> n >> m;// 输入矩阵数据for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){cin >> a[i][j];}}// 计算二维前缀和数组for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){sa[i][j] = sa[i-1][j] + sa[i][j-1] - sa[i-1][j-1] + a[i][j];}}// 枚举所有可能的子矩阵for (int x1 = 1; x1 <= n; x1++)      // 子矩阵左上角行坐标{for (int y1 = 1; y1 <= m; y1++)  // 子矩阵左上角列坐标{for (int x2 = x1; x2 <= n; x2++)    // 子矩阵右下角行坐标{for (int y2 = y1; y2 <= m; y2++) // 子矩阵右下角列坐标{// 计算子矩阵的和int t = sa[x2][y2] - sa[x2][y1-1] - sa[x1-1][y2] + sa[x1-1][y1-1];// 如果子矩阵的和等于其面积(即全1矩阵)if (t == ((x2 - x1 + 1) * (y2 - y1 + 1))){// 更新最大面积maxn = max(maxn, t);}}}}}// 输出最大全1子矩阵的面积cout << maxn << endl;return 0;
}

【运行结果】

4 3
0 1 1
1 0 1
0 1 1
1 1 1
4

B4416 最长连续段

【题目来源】

洛谷:B4416 [GESP202509 四级] 最长连续段 - 洛谷

【题目描述】

对于 \(k\) 个整数构成的数组 \([b_1,b_2,…,b_k]\),如果对 \(1≤i\)\(<\)\(k\) 都有 \(b_{i+1}\)\(=\)\(b_{i+1}\),那么称数组 \(b\) 是一个连续段。

给定由 \(n\) 个整数构成的数组 \([a_1,a_2,…,a_n]\),你可以任意重排数组 \(a\) 中元素顺序。请问在重排顺序之后,\(a\) 所有是连续段的子数组中,最长的子数组长度是多少?

例如,对于数组 \([1,0,2,4]\),可以将其重排为 \([4,0,1,2]\),有以下 \(10\) 个子数组:

\([4],[0],[1],[2],[4,0],[0,1],[1,2],[4,0,1],[0,1,2],[4,0,1,2]\)其中除 \([4,0],[4,0,1],[4,0,1,2]\) 以外的子数组均是连续段,因此是连续段的子数组中,最长子数组长度为 \(3\)

【输入】

第一行,一个正整数 \(n\),表示数组长度。

第二行,\(n\) 个整数 \(a_1,a_2,…,a_n\),表示数组中的整数。

【输出】

一行,一个整数,表示数组 \(a\) 重排顺序后,所有是连续段的子数组的最长长度。

【输入样例】

4
1 0 2 4

【输出样例】

3

【算法标签】

《洛谷 B4416 最长连续段》 #离散化# #排序# #GESP# #2025#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 100005;  // 定义数组最大长度int n;                  // 输入数字的个数
int cur = 0;            // 记录去重后的数字个数
int maxn = 0;          // 存储最长连续序列的长度
int a[N];              // 存储去重后的数字
map<int, int> mp;      // 哈希表,用于判断数字是否重复int main()
{// 输入数字个数cin >> n;// 输入数字并去重for (int i = 1; i <= n; i++){int x;cin >> x;// 如果数字未出现过,则加入数组if (mp[x] == 0){a[++cur] = x;}// 标记数字已出现mp[x] = 1;}// 对去重后的数字进行排序sort(a + 1, a + cur + 1);// 计算最长连续序列的长度int cnt = 1;  // 当前连续序列的长度for (int i = 2; i <= cur; i++){// 如果当前数字与前一个数字连续if (a[i] == a[i - 1] + 1){cnt++;}// 如果不连续,则更新最大值并重置计数器else{maxn = max(maxn, cnt);cnt = 1;}}// 处理最后一个连续序列maxn = max(maxn, cnt);// 输出最长连续序列的长度cout << maxn << endl;return 0;
}

【运行结果】

4
1 0 2 4
3
http://www.jsqmd.com/news/384788/

相关文章:

  • 混合动力汽车P2架构cruise-simulink仿真模型,P2架构整车能量管理cruise仿真模型
  • 别让支付宝立减金白白过期!这样处理,省心又实用 - 可可收
  • 道路表面多类型缺陷的图像识别数据集分享(适用于目标检测任务)
  • 震旦大厦广告代理:2026年户外LED大屏广告投放的优选伙伴,广播电台广告,户外led大屏广告代理公司推荐 - 品牌推荐师
  • 杉德斯玛特卡如何回收更划算?专家教你避开回收陷阱! - 团团收购物卡回收
  • 从制造到服务:盘点工厂预制化管道领域的实力厂家,高压管件/三通管件/防腐管道/压力容器,工厂预制化管道品牌有哪些 - 品牌推荐师
  • 导师严选! 降AIGC软件 千笔·降AIGC助手 VS 云笔AI,本科生专属神器!
  • 2026车载香氛ODM厂家大揭秘,实力派香氛源头厂家排行,扩香器/写字楼香薰/香薰机/油性香氛精油,香氛源头厂家排行榜单 - 品牌推荐师
  • 分期乐购物额度安全回收指南,新手必看避坑技巧 - 可可收
  • 吐血推荐!10个一键生成论文工具测评:自考毕业论文+开题报告高效写作指南
  • 干货合集:8个AI论文网站测评!专科生毕业论文+科研写作必备工具推荐
  • 新手也能上手!降AIGC软件 千笔·专业降AI率智能体 VS PaperRed 专科生专属
  • 少走弯路:AI论文工具,千笔 VS 学术猹,本科生首选!
  • 2026年2月云南无人机考证机构推荐,证书含金量与培训品质权威指南 - 品牌鉴赏师
  • 2026年目前诚信的制冷设备制造企业口碑推荐,方形逆流冷却塔/方形横流冷却塔/圆形逆流冷却塔,制冷设备源头厂家口碑推荐 - 品牌推荐师
  • 2月木薯淀粉公司推荐榜单揭晓,实力企业浮出水面,锅包肉专用粉/餐饮专供马铃薯淀粉/球团粘合剂,淀粉供应商排行榜单 - 品牌推荐师
  • 为什么在代理服务器上测试, http2 的转发性能比 http 1 更低?
  • 轻松掌握万里通积分卡回收渠道:选择正规平台的关键技巧 - 团团收购物卡回收
  • GESP认证C++编程真题解析 | 202509 一级
  • AI大模型:python汽车数据分析可视化环境 机器学习 协同过滤推荐算法 二手车推荐平台 汽车推荐系统 爬虫工艺 大数据毕业设计(源码+文档)✅
  • 2026年2月昆明无人机维修培训机构推荐,技术实操与就业保障深度解读 - 品牌鉴赏师
  • 基于网络爬虫技术的网络新闻分析系统的设计与实现(论文+源码)_kaic
  • [嵌入式系统-207]:电机控制为什么使用PWM,而不是DAC?
  • [嵌入式系统-208]:PWM VS DAC:PWM 是电机控制的“天选之子”——它用最简单、最高效、最经济的方式,将数字世界的指令转化为物理世界的运动;DAC,更适合小信号、高精度、低功率的模拟控制
  • 图解信息持久化:从文件、SQL 到 NoSQL 的本质对决
  • 千问 文心 元宝 Kimi 输出无乱码 - DS随心转小程序
  • 2026豪宅入户门一线品牌有哪些:十大顶级品牌综合实力深度评测解析 - 匠言榜单
  • day86(2.15)——leetcode面试经典150
  • Flink JobStatusChangedListener把作业状态变化 + Lineage 发到 DataHub / OpenLineage
  • 【信息科学与工程学】【产品体系】第十二篇 制造业生产加工05