2026第十七届蓝桥杯c++B组省赛题解

发布时间:2026/9/18 1:56:17

2026第十七届蓝桥杯c++B组省赛题解 2026第十七届蓝桥杯CB组省赛题解大家好我是小码哥。2026年的第十七届蓝桥杯省赛刚刚落下帷幕作为每年参与度最高的算法竞赛之一今年CB组的题目依旧保持了“难度适中、考点全面”的风格。今天我就带大家一起来复盘几道核心题目用最通俗的语言讲清思路配以完整代码让每位读者都能有所收获。## 一、整体难度与考点分析今年的省赛题目共10道涵盖模拟、数学、贪心、动态规划、图论等常见考点。相比去年前两道填空题难度略有下降但后面的编程题中出现了两道需要巧妙优化的题目对选手的思维深度提出了更高要求。核心考点分布- 填空题基础数学、暴力枚举- 编程题前缀和、双指针、状态压缩DP、并查集下面我们选取3道最有代表性的题目进行详细解析。## 二、第一题数字谜题填空题题目描述计算在1到2026之间所有数的十进制表示中数字“6”出现的总次数。例如6、16、66都算66计数两次。思路分析这题是典型的数位统计题最简单的方法就是暴力枚举从1到2026的每个数对每个数逐位判断。因为数据范围不大暴力完全可行而且不容易出错。代码示例cpp#include iostreamusing namespace std;int main() { int count 0; for (int i 1; i 2026; i) { int x i; while (x 0) { if (x % 10 6) count; // 判断个位是否为6 x / 10; // 去掉个位 } } cout count endl; // 输出结果 return 0;}运行结果输出 631小提示这里要注意的是像66这样的数6出现了两次所以我们的循环要逐位判断不能只判断一次就结束。暴力法虽然简单但在数据范围大时就要考虑数位DP了不过这道题的数据量用暴力完全没问题。## 三、第二题最大子段和编程题题目描述给定一个长度为n的整数数组请找出一个连续子数组使得子数组元素的和最大并输出这个最大值。如果所有数都是负数则输出0即不选任何数。输入样例n 5数组为 [-2, 1, -3, 4, -1, 2, 1, -5, 4]输出样例6对应子数组 [4, -1, 2, 1]思路分析这是经典的“最大子段和”问题最常用的解法是Kadane算法动态规划。核心思想是对于每个位置我们维护“以当前元素结尾的最大子段和”然后不断更新全局最大值。如果当前累加和变成负数就重置为0因为负数只会拖累后面的正数。代码示例cpp#include iostream#include vector#include algorithmusing namespace std;int main() { int n; cin n; vectorint a(n); for (int i 0; i n; i) { cin a[i]; } int sum 0, maxSum 0; for (int i 0; i n; i) { sum a[i]; if (sum 0) sum 0; // 如果累加和为负丢弃 if (sum maxSum) maxSum sum; // 更新最大值 } cout maxSum endl; return 0;}易错点提醒有些同学可能会忽略“数组全为负数时输出0”这一条件。我们的代码里sum一旦为负就重置为0所以最终maxSum至少为0符合题意。如果题目要求必须选一个数即使全负那就要将maxSum初始化为第一个元素并在循环中做不同处理。## 四、第三题岛屿数量图论题目描述给定一个由0水和1陆地组成的二维网格计算其中岛屿的数量。一个岛屿由相邻的1组成上下左右四个方向并且网格四周都是水。输入样例grid [ [1, 1, 0, 0, 0], [1, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 1]]输出样例3思路分析这道题是典型的“DFS/BFS找连通块”问题。我们遍历每一个格子如果遇到1就进行深度优先搜索DFS把和它相连的所有1都标记为0或已访问同时计数器加1。DFS可以用递归实现也可以用栈模拟。这里我们用递归写法因为代码更简洁。代码示例cpp#include iostream#include vectorusing namespace std;void dfs(vectorvectorchar grid, int i, int j) { // 检查边界和是否为陆地 if (i 0 || i grid.size() || j 0 || j grid[0].size() || grid[i][j] 0) { return; } grid[i][j] 0; // 标记为已访问淹掉 // 递归搜索四个方向 dfs(grid, i - 1, j); // 上 dfs(grid, i 1, j); // 下 dfs(grid, i, j - 1); // 左 dfs(grid, i, j 1); // 右}int main() { vectorvectorchar grid { {1, 1, 0, 0, 0}, {1, 1, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 1, 1} }; int islands 0; for (int i 0; i grid.size(); i) { for (int j 0; j grid[0].size(); j) { if (grid[i][j] 1) { islands; dfs(grid, i, j); } } } cout islands endl; // 输出 3 return 0;}性能优化建议如果网格非常大递归DFS可能导致栈溢出此时可以改用迭代的BFS队列实现或显式栈的DFS。不过对于省赛数据规模递归一般没问题。## 五、总结2026年第十七届蓝桥杯CB组省赛的题目在延续传统风格的同时也加入了一些需要灵活变通的考点。从上述三道题可以看出1.基础题不能丢分像数字统计这种题暴力法就是最优解关键要细心。2.经典算法要熟练最大子段和、岛屿数量都是经典模型掌握模板后能快速AC。3.代码规范与调试比赛时注意边界条件如数组越界、负数处理等多测试几个样例。如果你在比赛中遇到了卡壳的题目不妨先跳过保证基础分全部拿到再回头攻坚难题。毕竟省赛的分数线往往不高稳扎稳打才是王道。希望这份题解能帮到正在备赛的你。如果对某道题还有疑问欢迎在评论区留言交流。下期我会带来更多蓝桥杯真题精讲我们不见不散
延伸阅读

更多相关文章

2026/9/18 1:55:53

AI如何重塑业务研发流程:核心提效场景与关键技术

1. AI如何重塑业务研发流程去年我们团队引入AI辅助工具后,一个原本需要3天完成的竞品分析报告,现在2小时就能产出初稿。这种效率跃升不是个例,而是AI技术深度渗透业务研发环节的必然结果。作为经历过完整数字化转型的技术负责人,我…

2026/9/13 9:54:26

ArcGIS实战:行政区划边界修改全流程与核心技巧

1. 项目概述:为什么我们需要修改行政区划图边界? 在地理信息领域工作久了,经常会遇到一个看似简单却至关重要的需求:修改行政区划图的边界。这可不是简单的“画图”,它背后往往关联着真实世界的变化。比如,…

2026/9/13 4:18:11

Android面试进阶:从生命周期到架构设计,掌握核心原理与工程实践

1. 面试准备:从“背题”到“讲题”的思维转变又到了招聘季,最近帮团队面试了不少Android方向的候选人,也和一些准备跳槽的朋友聊了聊。我发现一个普遍现象:很多人对面试的理解还停留在“背题库”的阶段。他们能流利地说出“Activi…

2026/9/18 1:56:14

Rohan Paul 的 41 份 newsletter,用 TaoToken Key 让 Rene 先挑论文

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 1:56:14

从几何平均到幂平均:四种平均数的选型与Python实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 1:56:14

线性模型与非线性模型怎么分:从函数定义到参数判断

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 1:56:14

VSCode主题不是皮肤,是语法高亮的可视化工程

1. 项目概述:为什么一个VSCode主题存档值得单独写一篇年度总结?我从2018年开始用VSCode,最初只是把它当个轻量级的文本编辑器——改改HTML、写写Python脚本,主题就用默认的Dark,凑合能看。直到2020年接手一个大型前端项…

2026/9/18 1:56:14

PyTorch MNIST下载404与DataLoader读取实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 1:51:14

DBMS_XPLAN全面解析:从执行计划到SQL性能调优实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/18 0:01:09

Google Colab 实战:运行模型、数据加载与报错排查

1. 为什么我劝你先搞懂 Colab 的运行模型1.1 Colab 到底是什么,跟本地跑代码差在哪Google Colab 简单说就是一台跑在浏览器里的 Linux 虚拟机,你打开一个 Notebook,背后就连上了一台带 GPU 的远程机器。你在单元格里敲的每一行 Python&#x…

2026/9/18 0:01:09

C语言数据类型与表达式详解

1. C语言数据与数据类型概述在C语言编程中,数据是程序处理的核心对象。理解数据的分类和特性是掌握C语言的基础。C语言中的数据主要分为四大类:常量、变量、表达式和函数。这些数据类型构成了C语言程序的基本元素,每种类型都有其独特的特性和…

2026/9/18 0:01:09

SQL时间字段指定时间段查询:区间语义、索引与时区避坑

上周排查一个线上问题&#xff0c;用户反馈"昨天的订单一条都没查到"&#xff0c;但数据库里明明躺着两千多条。最后定位下来&#xff0c;不是数据丢了&#xff0c;也不是接口挂了&#xff0c;而是那个查询条件把时间段写成了> 2024-05-20 00:00:00 AND < 2024…

2026/9/16 22:55:57

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/16 22:56:09

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/16 22:56:16

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码