2025蓝桥省赛c++B组第二场题解

news2025/7/19 7:42:11

前言

这场的题目非常的简单啊,至于为什么有第二场,因为当时河北正在刮大风被迫停止了QwQ,个人感觉是历年来最简单的一场,如果有什么不足之处,还望补充。

试题 A: 密密摆放

【问题描述】
小蓝有一个大箱子,内部的长宽高分别是 200 、250 、240 (单位:毫米),
他要用这个大箱子来放一些同样大小的小盒子,小盒子的外部长宽高分别是
30、40、50 (单位:毫米)。小盒子允许从各个方向旋转(包括可以平放和倒
放)。
请问小蓝最多可以在一个大箱子里面放多少个小盒子。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个
整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案:

200

试题 B: 脉冲强度之和

【问题描述】
在蓝桥电子工坊,工程师小蓝正在设计一款智能脉冲生成器,用于驱动一
种新型设备。该设备的运行依赖于特定的脉冲强度,用正整数 p 表示,其必须
满足以下三个条件:

  1. 可由连续 10 个正整数之和组成:即存在一个正整数 k ,使得脉冲强度
    p = k + (k + 1) + (k + 2) + · · · + (k + 9) 。
  2. 各个数位上的数字都相同:例如 1111 、22222 、333333 等。
  3. 数值不超过 20255202:即 1 ≤ p ≤ 20255202。
    通过计算所有符合条件的脉冲强度之和,小蓝能够优化设备运行模式。对
    此,请帮助他计算这一总和。

答案:

55 + 555 + 5555 + 55555 + 555555 +5555555 = 6172830

试题 C: 25 之和

【问题描述】
小蓝最近对求和很着迷,给定一个正整数 n ,他想求从 n 开始的连续 25
个整数的和,即 n + (n + 1) + (n + 2) + · · · + (n + 24) ,请帮帮他吧。
【输入格式】
输入一行包含一个正整数 n 。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入 1】
1
【样例输出 1】
325
【样例输入 2】
100
【样例输出 2】
2800
【评测用例规模与约定】
对于 40% 的评测用例,1 ≤ n ≤ 100 ;
对于所有评测用例,1 ≤ n ≤ 10000 。

答案:

应该没什么好讲的吧~

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;

int ans =0 ;


signed main() {
	int n;cin >> n;
	ans = 300 + 25 * n;
	cout << ans;
	
	return 0;
}

试题 D: 旗帜

【问题描述】
小蓝要画一个 LANQIAO 图形,并把这个图形做成一个旗帜。图形的形状
为一个 h×w 的矩形,其中 h 表示图形的高,w 表示图形的宽。当 h = 5,w = 10
时,图形如下所示:
LANQIAOLAN
ANQIAOLANQ
NQIAOLANQI
QIAOLANQIA
IAOLANQIAO
图形的规律是:第一行用 LANQIAO 重复填入,第二行开始,每行向左移
动一个字符,用 LANQIAO 重复填入。
小蓝需要把图形中的每个字母都剪出来,以粘贴到旗帜上,他想知道,给
定图形的高和宽,图形中有多少个 A 。
【输入格式】
输入的第一行包含两个正整数 h,w ,用一个空格分隔。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
5 10
【样例输出】
14
【评测用例规模与约定】
对于 30% 的评测用例,h = 1 ,1 ≤ w ≤ 20 ;
对于 60% 的评测用例,1 ≤ h,w ≤ 20 ;
对于所有评测用例,1 ≤ h,w ≤ 100 。

答案:

数据量很少,不用想太复杂,直接暴力即可。

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;

int ans =0 ;
int n, m;

signed main() {
	cin >> n >> m;
	string s = "LANQIAO";
	for (int i = 0; i <n;i++) {
		int pre = i % 7;
		for (int j =0;j<m;j++){
			if (pre == 7) pre = 0;
			if (s[pre] == 'A') ans++;
			pre++;
		}
	}
	cout << ans;
	return 0;
}

试题 E: 数列差分

【问题描述】
小蓝有两个长度均为 n 的数列 A = {a1, a2, · · · , an} 和 B = {b1, b2, · · · , bn} ,将两个数列作差定义为 C = A − B = {c1 = a1 − b1, c2 = a2 − b2, · · · , cn = an − bn}。
小蓝将对数列 B 进行若干次操作,每次操作可以将数列 B 中的任意一个数更改
为任意一个整数。在进行完所有操作后,小蓝可以按任意顺序将数列 B 重排,
之后再计算数列 C 。小蓝想知道,最少操作多少次可以使得数列 C 中的所有数
都为正整数。
【输入格式】
输入的第一行包含一个正整数 n ;
第二行包含 n 个整数 a1, a2, · · · , an ,相邻整数之间使用一个空格分隔。
第三行包含 n 个整数 b1, b2, · · · , bn ,相邻整数之间使用一个空格分隔。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
4
22 31 12 14
3 19 27 44
【样例输出】
1
【样例说明】
其中一种方案:将 44 改为 0 ,重新排列 B 为 {19, 27, 3, 0} ,使得数列
C = {3, 4, 9, 14} 均为正整数。
【评测用例规模与约定】
对于 30% 的评测用例,n ≤ 10 ;
对于所有评测用例,1 ≤ n ≤ 105 ,−109 ≤ ai ≤ 109 ,−109 ≤ bi ≤ 109 。

答案:

勉强算是这场的难题吧,排序+双指针,因为b的顺序可以打乱,因此a和b即使进行排序操作也不会影响结果。

然后在a中寻找比b的数大的值,如果当前这个a不是说明这个值需要调整。

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;

int ans =0 ;
int n, m;
int a[N], b[N];

signed main() {
	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 idx = 0;
	for (int i = 0; i < n;i++) {
		if (a[i] > b[idx]) {
			idx++;
		}
		else {
			ans++;
		}
	}
	
	cout << ans;
	return 0;
}

试题 F: 树上寻宝

【问题描述】
小蓝正在一棵含有 n 个结点的树的根结点 1 上,他准备在这棵树上寻宝。
结点 i 上有一个物品,价值为 wi 。然而,小蓝每次寻宝只能从根节点出发走不
超过 k 步,每步只能选择走 1 条边或者 2 条边,之后会自动拾取最终停留的结
点上的物品并被传送回根结点。请求出小蓝最终能获得的物品的总价值。
【输入格式】
输入的第一行包含两个正整数 n, k ,用一个空格分隔。
第二行包含 n 个正整数 w1,w2, · · · ,wn ,相邻整数之间使用一个空格分隔。
接下来 n − 1 行,每行包含两个正整数 ui
, vi ,用一个空格分隔,表示结点
ui 和结点 vi 之间有一条边。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
8 2
6 3 3 1 5 4 3 4
1 2
2 3
2 4
4 5
5 6
6 7
7 8

【样例输出】
22
【样例说明】
走 0 步能到的结点:1 ;
走 1 步能到的结点:2, 3, 4 ;
走 2 步能到的结点:3, 4, 5, 6 ;
因此能到的结点为:1, 2, 3, 4, 5, 6 ,能获得的总价值为 22 。
【评测用例规模与约定】
对于 20% 的评测用例,1 ≤ n ≤ 15 ;
对于所有评测用例,0 ≤ k < n ≤ 105 ,1 ≤ wi ≤ 106 ,1 ≤ ui, vi ≤ n 。

答案:

一个简单的搜索,注意考虑k为0的情况。
此外一定要存双向边,因为他题目里面写的是存在一条路径,而不是谁是谁的子节点,我有几个同学在这里挂了QwQ。

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;

int ans =0 ;
int n, k;
int w[N];
vector<int>e[N];
bool vis[N];

void bfs(int num) {
	queue<int>q;
	vis[1] = 1;
	q.push(1);
	ans = w[1];
	if (num == 0) return;//这里当时写的多余了
	
	while (num-- && q.size()) {
		int a = q.size();
		while (a--) {
			int x = q.front();
			
			q.pop();
			for (auto i : e[x]) {
				if (!vis[i]) {
					vis[i] = 1;
					
					ans += w[i];
					q.push(i);
				}
			}
			
		}
	}
}
signed main() {
	cin >> n >> k;
	for (int i = 1; i <= n;i++) {
		cin >> w[i];
	}	
	for (int i = 0; i < n - 1; i++) {
		int x, y;
		cin >> x >> y;
		e[x].push_back(y);
		e[y].push_back(x);
	}
	bfs(2 * k);
	cout << ans;
	return 0;
}

试题 G: 翻转硬币

【问题描述】
给定 n 行 m 列共 n × m 个硬币,对于任意一个硬币,我们将其价值视为与
其相邻(指上、下、左、右相邻)的硬币中与其正反相同的硬币数的平方。
你可以进行任意次操作,每次可以选择任意一行并将该行的硬币全部翻转。
求所有硬币的价值之和最大可能是多少。
【输入格式】
输入的第一行包含两个正整数 n, m ,用一个空格分隔。
接下来 n 行,每行包含 m 个 0 或 1 ,表示给定的 n × m 个硬币。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
4 4
1010
1111
1011
1100
【样例输出】
68
【样例说明】
如图,实线表示正面,虚线表示反面,翻转最后一行可以得到最大价值和:
在这里插入图片描述
【评测用例规模与约定】
对于 40% 的评测用例,n, m ≤ 20 ;
对于所有评测用例,1 ≤ n, m ≤ 1000 。

答案:

应该是最难的一道题了,感觉像是dp,本人太菜了没写出来QwQ。

试题 H: 破解信息

【问题描述】
在遥远的未来,星际旅行已经成为常态。宇航员小蓝在一次探险任务中,
意外发现了一个古老的太空遗迹。遗迹中存放着一个数据存储器,里面记录着
一段加密的信息。经过初步分析,小蓝发现这段信息可以被表示为一个字符串
S,而解密的关键,在于找出 S 中字典序最大的回文子序列。
• 子序列:指从原字符串中抽取若干个字符(可以不连续),按照它们在原
字符串中的相对顺序排列所形成的新序列。例如,对于字符串 “abc”,其
子序列包括 “a”、“b”、“c”、“ab”、“ac”、“bc” 和 “abc”。
• 字典序:指字符串按照字典中的排序规则比较大小的方式。对于两个字符
串,从左到右逐字符比较,先出现较大字符的字符串字典序更大;若比较
到某个字符串结束仍未找到不同的字符,则较短的字符串字典序较小。例
如,“abc” < “abd”,而 “ab” < “abc”。
现在,请你从字符串 S 中,找出字典序最大的回文子序列,帮助小蓝解开
这段来自星际文明的信息。
【输入格式】
输入一行包含一个字符串 S ,表示加密的信息。
【输出格式】
输出一行包含一个字符串,表示 S 中字典序最大的回文子序列。
【样例输入 1】
abcd
【样例输出 1】
d
【样例输入 2】
abab
【样例输出 2】
bb
【评测用例规模与约定】
对于 30% 的评测用例,1 ≤ |S | ≤ 300 ,其中 |S | 表示字符串 S 的长度;
对于所有评测用例,1 ≤ |S | ≤ 105 ,S 中只包含小写英文字母。

答案:

虚假的20分题目,此题只需要考虑字符串里面最大的字母的个数,然后输出这么长的该字符即可,原因请结合题目:对于两个字符串,从左到右逐字符比较,先出现较大字符的字符串字典序更大

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;

string s;
char ma;
int cnt = 1;
signed main() {
	cin >> s;
	for (auto i : s) {
		if (i > ma) {
			ma = i;
			cnt = 1;
		}
		else if (i == ma) {
			cnt++;
		}
	}
	for (int i = 0; i < cnt; i++) {
		cout << ma;
	}
	return 0;
}

如果对于以上题目有什么想法或者错误,欢迎与我积极讨论。

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

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

相关文章

vue3 vite打包后动态修改打包后的请求路径,无需打多个包给后端

整体思路和需求 部署多个服务器环境的时候&#xff0c;需要多次打包很麻烦&#xff0c;所以需要打包之后动态的修改 1.创建一个webconfig文件夹 2.在自己封装的接口文件中 判断是否在生产环境&#xff0c;然后将数据保存到vuex 中 代码&#xff1a; // 创建axios服务的函数 …

Nacos-SpringBoot 配置无法自动刷新问题排查

背景 Nacos SpringBoot版本中&#xff0c;提供了NacosValue注解&#xff0c;支持控制台修改值时&#xff0c;自动刷新&#xff0c;但是今天遇见了无法自动刷新的问题。 环境 SpringBoot 2.2.x nacos-client&#xff1a;2.1.0 nacos-config-spring-boot-starter&#xff1a;0…

【RabbitMQ消息队列】详解(一)

初识RabbitMQ RabbitMQ 是一个开源的消息代理软件&#xff0c;也被称为消息队列中间件&#xff0c;它遵循 AMQP&#xff08;高级消息队列协议&#xff09;&#xff0c;并且支持多种其他消息协议。 核心概念 生产者&#xff08;Producer&#xff09;&#xff1a;创建消息并将其…

Jenkins Pipeline 构建 CI/CD 流程

文章目录 jenkins 安装jenkins 配置jenkins 快速上手在 jenkins 中创建一个新的 Pipeline 作业配置Pipeline运行 Pipeline 作业 Pipeline概述Declarative PipelineScripted Pipeline jenkins 安装 安装环境&#xff1a; Linux CentOS 10&#xff1a;Linux CentOS9安装配置Jav…

AJAX 介绍

一、什么是AJAX ? AJAX 是 异步的 JavaScript 和 XML&#xff08;Asynchronous JavaScript And XML&#xff09; 的缩写&#xff0c;是一种实现浏览器与服务器进行数据通信的技术。其核心是通过 XMLHttpRequest 对象在不重新刷新页面的前提下&#xff0c;与服务器交换数据并更…

promis(resolve,reject)入门级别

JavaScript Promise 的定义 Promise 是一种用于处理异步操作的对象&#xff0c;表示一个可能已经完成或者尚未完成的操作的结果。它的核心作用在于简化复杂的回调嵌套问题&#xff08;即所谓的“回调地狱”&#xff09;&#xff0c;使异步代码更加清晰易读。 Promise 的状态 …

w~嵌入式C语言~合集6

我自己的原文哦~ https://blog.51cto.com/whaosoft/13870384 一、开源MCU简易数字示波器项目 这是一款采用STC8A8K MCU制造的简单示波器&#xff0c;只有零星组件&#xff0c;易于成型。这些功能可以涵盖简单的测量&#xff1a; 该作品主要的规格如下&#xff1a; 单片机…

学习海康VisionMaster之路径提取

一&#xff1a;进一步学习了 今天学习下VisionMaster中的路径提取&#xff1a;可在绘制的路径上等间隔取点或查找边缘点 二&#xff1a;开始学习 1&#xff1a;什么是路径提取&#xff1f; 相当于事先指定一段路径&#xff0c;然后在对应的路径上查找边缘&#xff0c;这个也是…

第35课 常用快捷操作——用“鼠标左键”拖动图元

概述 拖动某个图元&#xff0c;是设计过程中常需要用到的操作&#xff0c;我们可以在原理图中拖动某个元器件符号&#xff0c;也可以在PCB图中拖动某个焊盘。 和常用的软件类似&#xff0c;用按住鼠标左键的方式来完成拖动操作。 用鼠标左键拖动图元 在想要拖动的图元上&…

二、Web服务常用的I/O操作

一、单个或者批量上传文件 前端&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>文件…

「Mac畅玩AIGC与多模态04」开发篇01 - 创建第一个 LLM 对话应用

一、概述 本篇介绍如何在 macOS 环境下&#xff0c;基于已部署完成的 Dify 平台和本地 LLM 模型&#xff08;如 DeepSeek&#xff09;&#xff0c;创建并测试第一个基础对话应用&#xff0c;实现快速验证推理服务与平台交互功能。 二、应用创建流程 1. 通过首页创建应用 打…

深度探究获取淘宝商品数据的途径|API接口|批量自动化采集商品数据

在电商行业竞争日益激烈的今天&#xff0c;淘宝商品数据如同蕴藏巨大价值的宝藏&#xff0c;无论是商家进行竞品分析、优化商品策略&#xff0c;还是数据分析师挖掘市场趋势&#xff0c;都离不开对这些数据的获取与分析。本文将深入探讨获取淘宝商品数据的多种途径&#xff0c;…

马哥教育Linux云计算运维课程

课程大小&#xff1a;19.1G 课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/90640128 更多资源下载&#xff1a;关注我 你是否找了很多资料看了很多视频聊了很多群友&#xff0c;却发现自己技术仍然原地踏步&#xff1f;本教程联合BAT一线导师倾囊相授…

FPGA与边缘AI:计算革命的前沿力量

在数字化转型浪潮中&#xff0c;边缘计算和人工智能正引领着技术革命。而FPGA&#xff08;现场可编程门阵列&#xff09;作为一种独特的硬件架构&#xff0c;正逐渐成为边缘AI领域的关键推动力。本文将探讨FPGA与边缘AI的结合如何重塑我们的数字世界&#xff0c;以及这一技术融…

Kafka 架构设计和组件介绍

什么是Apache Kafka&#xff1f; Apache Kafka 是一个强大的开源分布式事件流平台。它最初由 LinkedIn 开发&#xff0c;最初是一个消息队列&#xff0c;后来发展成为处理各种场景数据流的工具。 Kafka 的分布式系统架构支持水平扩展&#xff0c;使消费者能够按照自己的节奏检…

【Node.js 】在Windows 下搭建适配 DPlayer 的轻量(简陋)级弹幕后端服务

一、引言 DPlayer官网&#xff1a;DPlayer 官方弹幕后端服务&#xff1a;DPlayer-node MoePlayer/DPlayer-node&#xff1a;使用 Docker for DPlayer Node.js 后端&#xff08;https://github.com/DIYgod/DPlayer&#xff09; 本来想直接使用官网提供的DPlayer-node直接搭建…

OpenSSH配置连接远程服务器MS ODBC驱动与Navicat数据库管理

OpenSSH配置连接远程服务器MS ODBC驱动与Navicat数据库管理 目录 OpenSSH配置连接远程服务器MS ODBC驱动与Navicat数据库管理 一、MS ODBC驱动 1.1、安装到Windows后的表现形式 1.2、版本的互斥性 1.3、安装程序 1.4、配置后才可用 二、Navicat数据库管理工具 2.1、安…

操作系统:计算机世界的基石与演进

一、操作系统的本质与核心功能 操作系统如同计算机系统的"总管家"&#xff0c;在硬件与应用之间架起关键桥梁。从不同视角观察&#xff0c;其核心功能呈现多维价值&#xff1a; 硬件视角的双重使命&#xff1a; 硬件管理者&#xff1a;通过内存管理、进程调度和设…

Codeium 免费的AI编程助手

Codeium 由 Exafunction 团队&#xff08;主要也是美国华人&#xff09;开发的一款免费AI编程助手&#xff0c;是一个建立在顶尖AI技术上的代码加速工具&#xff0c;其背后的老板非常厉害&#xff0c;据说投资过马斯克的SpaceX。Codeium 本身具有颇多的亮点&#xff0c;支持70种…

在MySQL Shell里 重启MySQL 8.4实例

前一段时间看到MySQL官方视频的Oracle工程师在mysql shell里面重启mysql实例&#xff0c;感觉这个操作很方便&#xff0c;所以来试试&#xff0c;下面为该工程师的操作截图 1.MySQL Shell 通过root用户连上mysql&#xff0c;shutdown mysql实例 [rootmysql8_3 bin]# mysqlshMy…