【第16届蓝桥杯 | 软件赛】CB组省赛第二场

article/2025/7/30 13:35:12

在这里插入图片描述

个人主页:Guiat
归属专栏:算法竞赛

在这里插入图片描述

文章目录

  • A. 密密摆放(5分填空题)
  • B. 脉冲强度之和(5分填空题)
  • C. 25 之和
  • D. 旗帜
  • E. 数列差分
  • F. 树上寻宝
  • G. 翻转硬币
  • H. 破解信息

正文

总共8道题。

A. 密密摆放(5分填空题)

【题目】密密摆放

【分析】
考察观察,首先考虑最多盒子数量:200 * 250 * 240 / (30 * 40 * 50),观察到正好可以被整除,即最终结果。

【答案】200

【AC_Code】

#include <iostream>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;void solve() { cout << 200 * 250 * 240 / (30 * 40 * 50) << '\n'; }int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

B. 脉冲强度之和(5分填空题)

【题目】脉冲强度之和

【分析】
考察数学和观察。
p = k + (k + 1) + (k + 2) + ··· + (k + 9) = (k + (k + 9)) * 10 / 2 = 10k + 45(k为正整数)
1 <= p <= 20255202且各个数位上的数字都相同 => p = 55、555、5555、55555、555555、5555555
所以 ans = 55 + 555 + 5555 + 55555 + 555555 + 5555555

【答案】6172830

【AC_Code】

#include <iostream>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;void solve() { cout << 55 + 555 + 5555 + 55555 + 555555 + 5555555 << '\n'; }int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

C. 25 之和

【题目】25 之和

【AC_Code】

#include <iostream>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;void solve()
{int n; cin >> n;cout << (n + (n + 24)) * 25 / 2 << '\n';
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

D. 旗帜

【题目】旗帜

【分析】

优先找规律。

在这里插入图片描述
在这里插入图片描述
观察上面两张图,总结出规律:(A下标之和) % 7 == 1 或 5,满足题目要求,找出规律后代码就很好写了。

【AC_Code】

#include <iostream>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;string s = "LANQIAO"; int ans;void solve()
{int h, w; cin >> h >> w;for (int i = 0; i < h; i ++) for (int j = 0; j < w; j ++){if ((i + j) % 7 == 1 || (i + j) % 7 == 5) ans ++;// if (s[(i + j) % 7] == 'A') ans ++;}cout << ans << '\n';
}int main()
{IOS; int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

E. 数列差分

【题目】数列差分

【分析】
贪心 + 排序 + 双指针。
贪心思路:让较大的 a[i] 尽量匹配较大的 b[j],无法匹配时调整 b[j](ans ++)。

可视化理解(双指针)
在这里插入图片描述
讲解完毕。

【AC_Code】

#include <iostream>
#include <algorithm>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;const int N = 1e5 + 10; int a[N], b[N], ans;void solve()
{int n; cin >> n;for (int i = 0; i < n; i ++) cin >> a[i];for (int i = 0; i < n; i ++) cin >> b[i];sort(a, a + n); sort(b, b + n);int i = n - 1, j = n - 1;while (j != -1){if (a[i] - b[j] <= 0) ans ++, j --;else i --, j --;}cout << ans << '\n';
}int main()
{IOS; int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

F. 树上寻宝

【题目】树上寻宝

【分析】

本题用dfs做就好了。

  • 题意:给定一棵树,每个节点有一个权值。求距离根节点不超过 2k 的所有节点的权值之和。
  • 思路:DFS遍历:计算每个深度(距离根节点的边数)的节点权值和。
  • 累加结果:将深度不超过 2k 的所有节点的权值相加。
  • 深度计算:deep[i] 表示深度为 i 的所有节点的权值和。
  • 结果范围:题目要求不超过 k 条边,即深度不超过 2k(因为每条边连接两个节点)。

【AC_Code】

#include <iostream>
#include <vector>
#include <algorithm>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;
using ll = long long;const int N = 1e5 + 10;
vector<int> aList[N]; ll w[N], deep[N], ans;void dfs(int now, int fa, int step)
{deep[step] += w[now - 1];for (int a : aList[now]) if (a != fa) dfs(a, now, step + 1);
}void solve()
{int n, k; cin >> n >> k;for (int i = 0; i < n; i ++) cin >> w[i];for (int i = 0; i < n - 1; i ++){int u, v; cin >> u >> v;aList[u].push_back(v); aList[v].push_back(u);}dfs(1, -1, 0);for (int i = 0; i <= min(n, 2 * k); i ++) ans += deep[i];cout << ans << '\n';
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

G. 翻转硬币

【题目】翻转硬币

【分析】

【AC_Code】

#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); using namespace std;const int N = 1e3 + 5; int n, m, a[N][N], dp[N][2][2];int calculate(int row, int prev, int curr, int next)
{int res = 0;for (int i = 1; i <= m; ++i){int cnt = 0;if (i > 1 && a[row][i] == a[row][i - 1]) cnt++;if (i < m && a[row][i] == a[row][i + 1]) cnt++;if (row > 1 && !(prev == curr ^ a[row][i] == a[row - 1][i])) cnt++;if (row < n && !(curr == next ^ a[row][i] == a[row + 1][i])) cnt++;res += cnt * cnt;}return res;
}void solve()
{cin >> n >> m;for (int i = 1; i <= n; ++i){string s; cin >> s;for (int j = 1; j <= m; ++j) a[i][j] = s[j - 1] - '0';}dp[2][0][0] = calculate(1, 0, 0, 0); dp[2][0][1] = calculate(1, 0, 1, 0);dp[2][1][0] = calculate(1, 0, 0, 1); dp[2][1][1] = calculate(1, 0, 1, 1);for (int i = 3; i <= n + 1; ++i){dp[i][0][0] = max(dp[i - 1][0][0] + calculate(i - 1, 0, 0, 0), dp[i - 1][0][1] + calculate(i - 1, 1, 0, 0));dp[i][0][1] = max(dp[i - 1][1][0] + calculate(i - 1, 0, 1, 0), dp[i - 1][1][1] + calculate(i - 1, 1, 1, 0));dp[i][1][0] = max(dp[i - 1][0][0] + calculate(i - 1, 0, 0, 1), dp[i - 1][0][1] + calculate(i - 1, 1, 0, 1));dp[i][1][1] = max(dp[i - 1][1][0] + calculate(i - 1, 0, 1, 1), dp[i - 1][1][1] + calculate(i - 1, 1, 1, 1));}int ans = max( { dp[n + 1][0][0], dp[n + 1][0][1], dp[n + 1][1][0], dp[n + 1][1][1] } );cout << ans << "\n";
}int main()
{IOS int _ = 1;while (_ --) solve();return 0;
}

H. 破解信息

【题目】破解信息

【分析】
简化题意:按序输出输入字符串的最大字符。

【AC_Code】

#include <iostream>
#define IOS ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);using namespace std;void solve()
{string s; cin >> s; char maxC = 'a'; int pos = 0, cnt = 0;for (int i = 0; i < s.length(); i ++){if (maxC < s[i]) maxC = s[i], i = pos;}for (char c : s) if (c == maxC) cnt ++;while (cnt --) cout << maxC; cout << '\n';
}int main()
{IOS int _ = 1;   // cin >> _;while (_ --) solve();return 0;
}

结语
感谢您的阅读!期待您的一键三连!欢迎指正!

在这里插入图片描述


http://www.hkcw.cn/article/cErYREFXyr.shtml

相关文章

在线音乐服务器测试报告

1.项目背景 此项目主要用于模拟市面上主流的音乐软件的主要功能&#xff0c;提高自己的开发和测试能力。此项目采用的技术栈是SpringBoot MyBatis SpringMVC Mysql实现的&#xff0c;为了实现简单&#xff0c;方便测试&#xff0c;此项目没有注册功能&#xff0c;数据提前存…

球展世界,筑梦中原,2025郑州台球展会,年中招商即将开启

-壹肆柒2025中国&#xff08;郑州&#xff09;国际台球产业博览会暨全国台球产业链发展大会&#xff0c;将于2025年08月15-17日&#xff0c;在郑州中原国际会展中心盛大举办。本届博览会主题&#xff1a;同聚中原共赢未来&#xff0c;四个展馆&#xff0c;42000㎡的展览面积&am…

58、辣椒种植学习

辣椒&#xff08;学名&#xff1a;Capsicum annuum&#xff09;属于茄科辣椒属&#xff0c;是一种重要的蔬菜兼调味作物&#xff0c;具有较高的经济价值和营养价值。其果实富含维生素C、辣椒素等成分&#xff0c;既可鲜食&#xff0c;也可加工成干辣椒、辣椒粉、辣椒酱等产品&a…

SCSAI平台面向对象建模技术的设计与实现

一、核心设计思想 SCSAI平台的核心目标是通过元建模&#xff08;Meta-Modeling&#xff09;技术实现面向对象建模的零编码化。其核心思想为&#xff1a; 自反性设计&#xff1a;定义ObjectClassInfo (OCI)为元类&#xff08;Meta-Class&#xff09;&#xff0c;所有对象类均为…

三个细节 带你看懂中方在这届香会上的行动

这两天,谭主在第22届香格里拉对话会现场,参加了多场全体会议和平行会议。谭主在现场留意到三个细节,带你看懂中方在这届香会上的行动。细节一:中方提问美菲防长获东盟共鸣在昨天上午的第一场全体会议上,来自国防大学的张弛教授提问美国国防部长将如何处理美国联盟与东盟国…

UDP/TCP协议全解

目录 一. UDP协议 1.UDP协议概念 2.UDP数据报格式 3.UDP协议差错控制 二. TCP协议 1.TCP协议概念 2.三次握手与四次挥手 3.TCP报文段格式&#xff08;重点&#xff09; 4.流量控制 5.拥塞控制 一. UDP协议 1.UDP协议概念 当应用层的进程1要向进程2传输报文&#xff…

话题通信之python实现

在机器人操作系统&#xff08;ROS&#xff09;中&#xff0c;话题通信是一种常见的通信方式&#xff0c;它允许不同的节点之间通过主题进行数据交换。本文将介绍如何使用Python实现ROS话题通信&#xff0c;包括发布者和订阅者的编写。这种方法与使用C实现类似&#xff0c;但Pyt…

中国高分辨率高质量地面NO2数据集(2008-2023)

时间分辨率&#xff1a;日空间分辨率&#xff1a;1km - 10km共享方式&#xff1a;开放获取数据大小&#xff1a;15.36 GB数据时间范围&#xff1a;2008-01-01 — 2023-12-31元数据更新时间&#xff1a;2024-08-19 数据集摘要 ChinaHighNO2数据集是中国高分辨率高质量近地表空气…

射频通信概述

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目…

设置堆空间的最大值(-Xmx)应该要考虑哪些因素?

需要根据系统的配置来确定&#xff0c;要给操作系统和JVM其他内存区域&#xff08;栈、方法区&#xff09;留下一定的剩余空间。推荐配置系统或容器里可用内存的70%~80%最好。 假设物理内存是8G,设置多大堆内存比较合适&#xff1f; 系统有8G物理内存&#xff0c;系统自己可能会…

wordpress免费主题网站

这是一款WordPress主题&#xff0c;由jianzhanpress开发&#xff0c;可以免费下载。专为中小微企业设计&#xff0c;提供专业的网站建设、网站运营维护、网站托管和网站优化等服务。主题设计简约、现代&#xff0c;适合多种行业需求。 主要特点&#xff1a; 多样化展示&#…

SGLang 无法正常部署

1. 考虑 torch 版本 与 SGLang 不兼容&#xff1a; -> Python环境中的包被更新&#xff08;如torch, deepspeed, transformers等&#xff09;导致不兼容 - 参考&#xff1a;Exception: Capture CUDA graph failed: CUDA error: out of memory-CSDN博客 # 虽然锁定了 sg…

【拓扑排序】P6560 [SBCOI2020] 时光的流逝|普及+

本文涉及知识点 C图论 拓扑排序 P6560 [SBCOI2020] 时光的流逝 题目背景 时间一分一秒的过着&#xff0c;伴随着雪一同消融在了这个冬天&#xff0c; 或许&#xff0c;要是时光能停留在这一刻&#xff0c;该有多好啊。 … “这是…我在这个小镇的最后一个冬天了吧。” “嗯…

第13讲、Odoo 18 配置文件(odoo.conf)详细解读

1. 概述 Odoo 配置文件&#xff08;odoo.conf&#xff09;是管理 Odoo 服务器行为的核心工具&#xff0c;涵盖了网络、安全、数据库、性能等多方面的关键参数。本文档系统梳理 Odoo 18 配置文件的主要参数&#xff0c;结合实际应用场景&#xff0c;提供权威的配置建议与最佳实…

“大巴黎”欧冠夺冠引发法国多地骚乱

法甲球队巴黎圣日耳曼5月31日晚赢得欧冠联赛冠军奖杯,法国多地球迷彻夜庆祝。据法国内政部消息,狂欢夜有559人因滋事被捕,并发生两起命案。据法国媒体援引法国内政部等信源,在巴黎,一名20岁男子骑摩托车与汽车相撞,导致重伤不治身亡。在法国西南部城市达克斯,一名17岁未…

马斯克最新发声:不想为美政府所做的一切承担责任

当地时间6月1日,美国企业家埃隆马斯克当日在接受美国哥伦比亚广播公司的采访时表示,他不想公开反对美国政府,但也不想为政府所做的一切承担责任。马斯克在采访中表示,他所领导的“政府效率部”成了一切的替罪羊,所有的裁员无论是真是假都被怪罪到了“政府效率部”的头上。…

c++ QicsTable使用实例

效果图&#xff1a; #include <QicsTable.h> #include <QicsDataModelDefault.h> #include <QVBoxLayout> Demo1::Demo1(QWidget *parent) : QWidget(parent) { ui.setupUi(this); const int numRows 10; const int numCols 5; // create th…

俄乌第二轮会谈前夕 飞出数只 “黑天鹅”

俄乌第二轮谈判将于6月2日举行。根据土耳其外交部在1日晚间发布消息,本次会谈将于当地时间2日13时在伊斯坦布尔的契拉昂宫举行。截至目前,俄乌双方均就这次谈判各自的立场和方向做出了一定说明。但就在本次俄乌会谈前夕,多起“黑天鹅”事件却接连发生。△伊斯坦布尔的契拉昂…

内存马mama

一、Tomcat三种内存马 首先了解下tomcat的三种内存马的原理和简单实用 filter型内存马 Tomcat filter注册流程 FilterDefs&#xff1a;存放FilterDef的数组 &#xff0c;FilterDef 中存储着我们过滤器名&#xff0c;过滤器实例&#xff0c;作用 url 等基本信息 FilterConf…

PySide6 GUI 学习笔记——常用类及控件使用方法(地址类QUrl)

文章目录 地址类QUrl主要功能URL 格式介绍常见 scheme&#xff08;协议&#xff09;类型QUrl 类常用方法常用方法示例典型应用场景 地址类QUrl QUrl 是 PySide6.QtCore 模块中的一个类&#xff0c;用于处理和操作 URL&#xff08;统一资源定位符&#xff09;。它可以解析、构建…