【心路历程】初次参加蓝桥杯实况

在这里插入图片描述

送给大家一句话:

寂静的光辉平铺的一刻,地上的每一个坎坷都被映照得灿烂。 – 史铁生 《我与地坛》

初次参加蓝桥杯有感

  • 一点小小的震撼
  • 难评的做题过程
    • A题 艺术与篮球
      • 问题描述
      • 解题
    • B 题 五子棋
      • 问题描述
      • 解题
    • C题 训练士兵
      • 问题描述
      • 解题
    • D题 团建
      • 解题
    • E题 成绩统计
      • 问题描述
      • 解题
    • F题 因数统计
      • 问题描述
      • 解题
    • G题 零食采购
      • 问题描述
      • 解题
    • H题 魔法盒子
      • 问题描述
      • 解题
  • 总结
  • Thanks♪(・ω・)ノ谢谢阅读!!!
  • 下一篇文章见!!!

一点小小的震撼

在今晨的曙光中,我踏进了蓝桥杯的赛场,这是自我踏入大学之门后,首次参与计算机领域的正规比赛。前两周的时间里,我像在荒原上追逐光影,一边是对知识的渴望,一边是时间的逼迫,探索着神秘的dfs算法。仿佛只有通过这种方式(毕竟暴力最好想)。

当我站在真正的试题面前时,却发现事与愿违。那些看似熟悉的题目,在我眼前逐渐展开了一幅幅复杂的图景。我惊愕地发现,那些曾以为可以轻易攻克的堡垒,现在看来竟是高不可攀。这种无力感,像是冷雨中的一丝寒风,让人不禁颤抖。

我的心中充满了复杂的情感:

  1. 一方面是对这次首战的激动与兴奋,这种感觉如同初次触摸到未知世界的光辉;
  2. 另一方面则是面对未知挑战时那种深深的无力与惊讶。这种矛盾的情感,就像是在寂静的夜空中追逐流星,美丽而短暂,令人难以忘怀。

我的表现并不好,更像是在赛博大厦前呆滞的哥布林
希望通过这篇博客,未来的学弟学妹们能够从我的经历中汲取教训,找到前行的勇气和智慧

难评的做题过程

A题 艺术与篮球

问题描述

小蓝出生在一个艺术与运动并重的家庭中。
妈妈是位书法家,她希望小蓝能通过练习书法,继承她的艺术天赋,并练就一手好字。爸爸是一名篮球教练,他希望小蓝能通过篮球锻炼身体,培养运动的激情和团队合作的精神。
为了既满足妈妈的期望,又不辜负爸爸的心意,小蓝决定根据日期的笔画数来安排自己的练习。首先,他会将当天的日期按照“YYYYMIMIDD”的格式转换成一个8位数,然后将这8位数对应到汉字上,计算这些汉字的总笔画数。如果总笔画数超过50,他就去练习篮球;如果总笔画数不超过50,他就去练习书法。
例如,在2024年1月1日这天,日期可表示为一个8位数字20240101,其转换为汉字是“二零二四零一零一”。日期的总笔画数为2+13+2+5+13+1+13+1=50,因此在这天,小蓝会去练习书法。
以下是汉字的笔画数对照表:
在这里插入图片描述

现在,请你帮助小蓝统计一下,在2000年1月1日到2024年4月13日这段时间内,小蓝有多少天是在练习篮球?

解题

首先看题目我就想到了一位故人,哈哈哈。这道题我思考了一下就决定复刻一下我之前实现的日期管理工具。通过类封装来达到对日期的操作,然后采用数组映射来转换为笔画数。
大致代码如下:

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>

using namespace std;
class Date
{
public:
	Date(int year = 2000, int month = 1, int day = 1) {
		_year = year;
		_month = month;
		_day = day;
	}

	//关键: 获取当前月的日期
	int GetMonthDay(int year, int month) const {
		int day[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
		if (month == 2 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0))
		{
			return 29;
		}
		return day[month];
	}

	//日期++操作
	void add()
	{
		_day++;
		while (_day > GetMonthDay(_year, _month)) {
			_day -= GetMonthDay(_year, _month);
			_month++;
			if (_month > 12) {
				_year++;
				_month = 1;
			}

		}

	}
	int DateToInt()
	{
		return _year * 10000 + _month * 100 + _day;
	}

private:
	int _year;
	int _month;
	int _day;
};
int main()
{
	//笔画映射
	int nums[10] = { 13 , 1 , 2 , 3 ,5 , 4 , 4 , 2 , 2 , 2 };
	int  ans = 0;
	Date d1(2000, 1, 1);

	while (d1.DateToInt() != 20240414)
	{
		int num = d1.DateToInt();
		int sum = 0;
		while (num)
		{
			int n = num % 10;
			sum += nums[n];
			num /= 10;
		}
		if (sum > 50) ans++;
		d1.add();
	}
	cout << ans;
	return 0;
}

得到答案 :3228,不知道是不是正确答案。这应该是我唯一会做的题目了。
(ꈍεꈍ (ꈍ□ꈍ (ꈍㅿꈍ (ꈍ罒ꈍ﹡)

B 题 五子棋

问题描述

“在五子棋的对弈中,友谊的小船说翻就翻?”不!对小蓝和小桥来说,五子棋不仅是棋盘上的较量,更是心与心之间的沟通。这两位挚友秉承着“友谊第一,比赛第二”的宗旨,决定在一块5×5的棋盘上,用黑白两色的棋子来决出胜负。但他们又都不忍心让对方失落,于是决定用一场和棋(平局)作为彼此友谊的见证。

比赛遵循以下规则:

  1. 棋盘规模:比赛在一个5×5的方格棋盘上进行,共有25个格子供下棋使用。
  2. 棋子类型:两种棋子,黑棋与白棋,代表双方。小蓝持白棋,小桥持黑棋。
  3. 先手规则:白棋(小蓝)具有先手优势,即在棋盘空白时率先落子(下棋)。
  4. 轮流落子:玩家们交替在棋盘上放置各自的棋子,每次仅放置一枚。
  5. 胜利条件:率先在横线、竖线或斜线上形成连续的五个同色棋子的一方获胜。
  6. 平局条件:当所有25个棋盘格都被下满棋子,而未决出胜负时,游戏以平局告终。

在这一设定下,小蓝和小桥想知道,有多少种不同的棋局情况(终局不同看成不同情况,终局相同而落子顺序不同看成同一种情况),既确保棋盘下满又保证比赛结果为平局。

解题

我真的不会!!!
直接蒙了个数字202404138,真的就随便打的!!!我当时尝试使用dfs暴力搜索,可是可是我真的没有得到答案,也检查不出算法哪里有问题,
(((;꒪ꈊ꒪;)))(((;꒪ꈊ꒪;)))(((;꒪ꈊ꒪;)))

C题 训练士兵

问题描述

在蓝桥王国中,有Ⅱ名士兵,这些士兵需要接受一系列特殊的训练,以提升他们的战斗技能。对于第i名士兵来说,进行一次训练所需的成本为pr枚金币,而要想成为顶尖战士,他至少需要进行c;次训练。

为了确保训练的高效性,王国推出了一种组团训练的方案。该方案包含每位士兵所需的一次训练,且总共只需支付S枚金币(组团训练方案可以多次购买,即士兵可以进行多次组团训练)。

作为训练指挥官,请你计算出最少需要花费多少金币,才能使得所有的士兵都成为顶尖战士?
【输入格式】
输入的第一行包含两个整数n和S,用一个空格分隔,表示士兵的数量和进行一次组团训练所需的金币数。

接下来的n行,每行包含两个整数pi和ci,用一个空格分隔,表示第i名士兵进行一次训练的金币成本和要成为顶尖战士所需的训练次数。

【输出格式】
输出一行包含一个整数,表示使所有士兵成为顶尖战士所需的最少金币数

解题

这道题是我做完填空题,浏览其余的题目,找到的唯一一个我确定我读懂的题目,当然我的解法不一定对(我仅仅是通过了样例,而且还是暴力解法)

#include<iostream>
#include<cstring>
#include<cstdbool>
#include<cstdio>

using namespace std;

int n, s;
// 序号 金币 次数
int man[100001][2] = {0};
int ans = 0;

bool judge()
{
	int sum = 0;
	int cnt = 10000001;
	for (int i = 0; i < n; i++)
	{
		if (man[i][1])
		{
			cnt = min(cnt, man[i][1]);
			sum += man[i][1] * man[i][0];
		}
	}
	//一起训练 与 单独训练 进行比较
	if (sum < cnt * s) return true;
	
	else return false;
}

int main()
{
	cin >> n >> s;
	for (int i = 0; i < n; i++)
	{
		cin >> man[i][0] >> man[i][1];
	}

	while (1)
	{
		if (judge()) break;
		for (int i = 0; i < n; i++)
		{
			
			if(man[i][1])man[i][1]--;
		}
		ans += s;
	}
	for (int i = 0; i < n; i++)
	{
		ans += man[i][1] * man[i][0];
	}
	cout << ans;
	return 0;
}

凭印象写的,可能有偏差,见谅!!!

D题 团建

小蓝正在和朋友们团建,有一个游戏项目需要两人合作,两个人分别拿到一棵大小为n和m的树,树上的每个结点上有一个正整数权值。

两个人需要从各自树的根结点1出发走向某个叶结点,从根到这个叶结点的路径上经过的所有结点上的权值构成了一个正整数序列,两人的序列的最长公共前缀即为他们的得分。给出两棵树,请计算两个人最多的得分是多少。

【输入格式】
输入的第一行包含两个正整数n,Ⅲ,用一个空格分隔。
第二行包含n个正整数C1,,C2,,,Cn相邻整数之间使用一个空格分隔,其中c;表示第一棵树结点i上的权值。
第三行包含 m个正整数d1,d2,,,dm相邻整数之间使用一个空格分隔,其中d表示第二棵树结点i上的权值。
接下来n - 1行,每行包含两个正整数ui,Vi表示第一棵树中包含一条u和V;之间的边。
接下来m - 1 行,每行包含两个正整数 pi,qi 表示第二棵树中包含一条 pi和之间的边。
【输出格式】
输出一行包含一个整数表示答案。

解题

会不了一点…
会不了一点…
会不了一点…
会不了一点…
会不了一点…

E题 成绩统计

问题描述

在这里插入图片描述

解题

没有时间了…
没有时间了…
没有时间了…

F题 因数统计

问题描述

小蓝随手写出了含有n个正整数的数组{ai,d2,·"·,an},他发现可以轻松地算出有多少个有序二元组(i,j) 满足 αj是a; 的一个因数。因此他定义一个整数对(xi,yi)是一个整数对(x2,y2)的“因数”当且仅当x 和y 分别是 x2 和 y2的因数。他想知道有多少个有序四元组(i,jk,I) 满足(di,aj)是(ak,ai)的因数,其中ijk,l互不相等。
【输入格式】
输入的第一行包含一个正整数n。
第二行包含n个正整数d1,d2,,,dn,相邻整数之间使用一个空格分隔。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
5
3 6 2 2 7
【样例输出】
4

解题

怎么说呢…暴力解决的,枚举所有情况然后挑选所有可能:

#include<iostream>
#include<cstring>
#include<cstdbool>
#include<cstdio>
#include<algorithm>

using namespace std;

int compare(const void* a, const void* b)
{
	return 	*(int*)a > *(int*)b;
}

int main()
{
	int nums[100001] = { 0 };
	int n = 0; cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> nums[i];
	}

	qsort(nums,n,sizeof(nums[0]),compare);
	int ans = 0;
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			if (j == i) continue;
			for(int k = 0 ; k < n ; k++)
			{
				if (k == j || k == i) continue;
				for (int l = 0; l < n; l++)
				{
					if (l == k || l == j || l == i) continue;
					if (nums[l] % nums[j] == 0 && nums[k] % nums[i] == 0) ans++;
				}
			}
		}
	}
	cout << ans;

	return 0;
}

反正样例是过了,不知道是不是正确的…
ε=(´ο`*)))唉

G题 零食采购

问题描述

小蓝准备去星际旅行,出发前想在本星系采购一些零食,星系内有n颗星球,由n-1条航路连接为连通图,第i颗星球卖第c;种零食特产。小蓝想出了q个采购方案,第i个方案的起点为星球Si,终点为星球ti,对于每种采购方案,小蓝将从起点走最短的航路到终点,并且可以购买所有经过的星球上的零食(包括起点终点),请计算每种采购方案最多能买多少种不同的零食。

【输入格式】
输入的第一行包含两个正整数n,q,用一个空格分隔。

第二行包含n个整数C1,C2,,,Cn,相邻整数之间使用一个空格分隔。

接下来n - 1行,第i行包含两个整数ui , Vi,用一个空格分隔,表示一条航路将星球u与v;相连。
接下来 q 行,第i行包含两个整数Si , ti用一个空格分隔,表示一个采购方案。
【输出格式】
输出q 行,每行包含一个整数,依次表示每个采购方案的答案

解题

不会!!!
不会!!!
不会!!!
精神状况在这时候已经宕机了!!!

H题 魔法盒子

问题描述

在这里插入图片描述

解题

会不了一点!!!
会不了一点!!!
会不了一点!!!

总结

总结

今天,我参加了蓝桥杯竞赛,那是一次震撼心灵的体验。当我站在数不尽的代码与屏幕间,才发现,原来在这座大厦里,我们还有很多东西需要学习。比赛结束后,我花了很多时间来写这篇博客。或许,我是想通过文字抚慰自己的心灵,又或许是想与大家分享,笑谈我在比赛中的那些不足之处。

这次的经历,无疑是充满挑战的。在密集的键盘敲击声中,我仿佛听到了时间的流逝,每一行代码都是对知识的一次探索,每一个bug都是对耐心的考验。虽然结果并非完美,但这一过程让我深刻感受到了编程的乐趣,也让我认识到自身的不足。

写作,对我来说,是一种放松。它不仅能让我静下心来思考问题,还能让我在字里行间重新体验那些紧张而激动的时刻。希望通过这篇博客,未来的学弟学妹们能够从我的经历中汲取教训,找到前行的勇气和智慧

总之,这次蓝桥杯之旅,虽然颇具挑战,却也异常有趣。我希望与大家一同分享这份乐趣,一起在编程的道路上,不断进步,不断超越。

Thanks♪(・ω・)ノ谢谢阅读!!!

下一篇文章见!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue的毕业设计管理系统(源码+文档+部署+讲解)

一.系统概述 二十一世纪我们的社会进入了信息时代&#xff0c;信息管理系统的建立&#xff0c;大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多&#xff0c;而在线管理系统刚好能满足这些需求&#xff0c;在线管理系统突破了传统管理方式的局限性。于是本文针…

【前端】layui table表格勾选事件,以及常见模块

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《前端》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 表格勾选事…

接口测试-Mock测试方法详解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、关于Mock测试 1、什么是Mock测试&#xff1f; Mock 测试就是在测试过程中&#xff0c;对于…

Vue3整合wangEditor(富文本编辑器框架) 以及提供存储渲染方案

目录 概述 Vue3整合wagnEditor 图片的上传 图片的删除 文章存储 文章渲染 概述 实现功能&#xff1a;管理端使用富文本编辑器编写文章内容&#xff0c;将编辑好的文章存入数据库或服务器中&#xff0c;前端应用读取存储的文章内容作展示。 本文章能提供 ①Vue3整合wangEdi…

一款免费、开源、可批量识别的离线OCR软件,适用于 Windows7 x64及以上平台

免费&#xff1a;本项目所有代码开源&#xff0c;完全免费。方便&#xff1a;解压即用&#xff0c;离线运行&#xff0c;无需网络。高效&#xff1a;自带高效率的离线OCR引擎&#xff0c;内置多种语言识别库。灵活&#xff1a;支持命令行、HTTP接口等外部调用方式。功能&#x…

Android开发——控件

目录 TextView 注意&#xff1a; ​编辑带阴影的textview&#xff1a;&#xff08;一般用于给字体添加属性&#xff09; ​编辑 跑马灯效果的textview​编辑 Button (前几个常用&#xff09; Botton事件处理 EditText (文本框&#xff09; 如何获取文本框里面的内容…

统计学习方法概述

一、引言 随着AI的曙光逐渐普照IT界&#xff0c;众多曾经高深莫测的人工智能术语与理念&#xff0c;如监督学习、算法模型、回归分析等&#xff0c;已悄然融入广大信息技术人员的知识体系之中。老猿是个很传统的IT人&#xff0c;虽未深究这些新兴知识的精髓&#xff0c;却也在…

从零开始编写一个cmake构建脚本

简介 本文档介绍cmake构建脚本编写&#xff0c;包含的一些主要元素和命名规范。 cmake构建脚本编写步骤 cmake构建工具版本要明确 # 命令名字要小写&#xff0c;这条语句要求构建工具至少需要版本为3.12或以上 cmake_minimum_required (VERSION 3.12)工程名及库的版本号明确…

阿里面试总结 一

写了这些还是不够完整&#xff0c;阿里 字节 卷进去加班&#xff01;奥利给 ThreadLocal 线程变量存放在当前线程变量中&#xff0c;线程上下文中&#xff0c;set将变量添加到threadLocals变量中 Thread类中定义了两个ThreadLocalMap类型变量threadLocals、inheritableThrea…

深度学习的模型有几类,能干嘛用?

1、基础模型 &#xff08;1&#xff09;卷积神经网络 **卷积&#xff1a;**卷积的本质是通过矩阵运算9的方式将输入数据进行空间上的滤波&#xff0c;有效地提取数据中的局 部特征&#xff0c;从而实现特征数据更高程度的抽象表示。 **池化&#xff1a;**可以理解成“压缩”…

火绒安全软件:程序员的网络守护天使

目录 前言 系统防护 网络防护 隐私保护 高级设置 软件安全 响应速度 持续更新 总结 前言 在这个充满机遇与挑战的数字时代&#xff0c;程序员们如同探险家&#xff0c;不断探索着代码的新大陆。然而&#xff0c;网络世界也充斥着各种未知的风险和威胁。火绒安全软件&a…

浏览器工作原理与实践--渲染流水线:CSS如何影响首次加载时的白屏时间

在上一篇文章中我们详细介绍了DOM的生成过程&#xff0c;并结合具体例子分析了JavaScript是如何阻塞DOM生成的。那本文我们就继续深入聊聊渲染流水线中的CSS。因为CSS是页面中非常重要的资源&#xff0c;它决定了页面最终显示出来的效果&#xff0c;并影响着用户对整个网站的第…

初识 QT

初始QT 什么是QTQT发展史QT支持的平台QT的优点QT的应用场景搭建QT开发环境QT的开发工具概述QT下载安装 使用QT创建项目QT 实现Hello World程序使用按钮控件来实现使用标签控件来实现 项目文件解析widget.hmain.cppwidget.cppwidget.ui.pro文件 对象树QT 窗口坐标体系 什么是QT …

STM32H7的MPU学习和应用示例

STM32H7的MPU学习记录 什么是MPU&#xff1f;MPU的三种内存类型内存映射MPU保护区域以及优先级 MPU的寄存器XN位AP位TEX、C、B、S位SRD 位SIZE 位CTRL 寄存器的各个位 示例总结 什么是MPU&#xff1f; MPU&#xff08;Memory Protection Unit&#xff0c;内存保护单元&#xf…

LeetCode最长有效括号问题解

给定一个仅包含字符的字符串(’ 和 ‘)’&#xff0c;返回最长有效的长度(出色地-形成) 括号子弦。 示例1&#xff1a; 输入&#xff1a;s “(()” 输出&#xff1a;2 说明&#xff1a;最长的有效括号子字符串是 “()” 。 示例2&#xff1a; 输入&#xff1a;s “)()())…

5分钟手把手教你 Guitar Pro v8.1.1 Build 17 中文完整激活版(附教程) 64位

吉他爱好者必备神器&#xff1a;Guitar Pro v8.1.1 Build 17深度解析 随着数字音乐制作和学习的日益普及&#xff0c;越来越多的吉他爱好者开始寻找能够帮助他们提升技能、创作音乐的专业工具。在众多吉他制作软件中&#xff0c;Guitar Pro因其强大的功能和易用的界面备受推崇…

Linux内核中KASLR功能是什么?有什么作用?怎么破除?以及如何实操?(地址空间、layout random、kallsyms)

1. 背景 KASLR是一个什么技术点其实不重要&#xff0c;但重要的是有了KASLR这个功能后&#xff0c;造成内核中某个符号&#xff08;函数 or 变量&#xff09;在System.map中的地址和实际不一样了&#xff08;实际&#xff1a; cat /proc/kallsyms&#xff09;&#xff0c;进一…

JVM性能调优——GC日志分析

文章目录 1、概述2、生成GC日志3、Parallel垃圾收集器日志解析3.1、Minor GC3.2、FULL GC 4、G1垃圾收集器日志解析4.1、Minor GC4.2、并发收集4.3、混合收集4.4、Full GC 5、CMS垃圾收集器日志解析5.1、Minor GC5.2、Major GC5.3、浮动垃圾 6、日志解析工具6.1、GCeasy6.2、GC…

Java代码基础算法练习-自定义函数之求字符串长度-2024.04.13

任务描述&#xff1a; 写一函数&#xff0c;求一个字符串的长度&#xff08;字符串长度不超过255&#xff09;&#xff0c;然后在主函数中调用该函数 实现求长度操作。 任务要求&#xff1a; 代码示例&#xff1a; package April_2024;import java.util.Scanner;public class …

Spark AQE(Adaptive Query Execution)机制

&#x1f490;&#x1f490;扫码关注公众号&#xff0c;回复 spark 关键字下载geekbang 原价 90 元 零基础入门 Spark 学习资料&#x1f490;&#x1f490; AQE 的全称是 Adaptive Query Execution&#xff0c;翻译过来是“自适应查询执行”。它包含了 3 个动态优化特性&#…