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

蓝桥杯备赛经验帖

蓝桥杯备赛经验帖

作者:blue

时间:2025.2.1

文章目录

  • 蓝桥杯备赛经验帖
    • 1.为什么有这篇文章
    • 2.赛制
    • 3.比赛流程
    • 4.如何准备
    • 5.其他建议
    • 6.一些感悟

1.为什么有这篇文章

​ 笔者近期发现,观看我写的两道第十五届蓝桥杯题解的人数逐渐增多,又是一年寒假一年蓝桥杯备赛季,突然想起去年这个时候,自己也是刚接触算法竞赛(属于比较晚的人了,大二才开始),面对即将到来的比赛也是非常的迷茫,无助,只会盲目的刷题,也不知道怎么练习,自己一个人慢慢地在网上了解赛制,规则。所以本文想以博主个人的亲身经历,向广大像我当时一样刚接触算法竞赛的同学,做一些介绍。

​ 先说一下个人情况,博主当时参加蓝桥杯的时候是大二下半学期,最后是拿到了C/C++B组江苏省一,国赛是国三(博主知道自己很菜,大佬勿喷,叠甲叠甲叠甲),所以本文只适合小白,只适合小白,大佬请自动略过。另外,文章体系结构,全靠笔者天马行空,想到什么写什么,没有精密的安排,讲的不好的地方大家见谅(叠甲叠甲叠甲)

2.赛制

​ 笔者在此就不从头到尾介绍算法竞赛是什么东西了,想必来看本文的都大概有所了解。笔者谨在此强调蓝桥杯是OI赛制,OI赛制,OI赛制!!!(强调!!!)

​ 平时大家参加的一些线上赛基本都是ACM赛制,ACM赛制:每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等结果,但看不到错误的测试样例。每道题都有多个测试点,每道题必须通过了所有的测试点才算通过。每道题不限制提交次数,但没通过的话会有罚时,仅以最后一次提交为准。比赛过程中一般可以看到实时排名,通过题数相同的情况下按照答题时间+罚时来排名。

​ 而OI赛制:每道题提交之后都没有任何反馈,每道题都有多个测试点,根据每道题通过的测试点的数量获得相应的分数。每道题不限制提交次数,如果提交错误没有任何惩罚,仅以最后一次提交为准。比赛过程中看不到实时排名,赛后按照总得分来排名。

​ 赛制内容是引用于这篇文章编程比赛三大赛制介绍(ACM赛制、OI赛制、IOI赛制) - 知乎 (zhihu.com)

​ 而且而且蓝桥杯是不允许带纸质资料的,注意不允许带纸质资料,这点与ACM赛制的比赛也不同。个人认为,这个OI赛制恶心就恶心在你不知道,你写的究竟是不是对的,因为很有可能你的代码,只符合样例,而对于其他测试点,你的代码是无效的。这就和平时考试一样,先写试卷,交上去,老师评分后,过段时间才公布排名。尤为注意答案仅以最后一次提交为准

3.比赛流程

​ 省赛一般是在4月份(去年是4.13),省赛前一个星期可以下载准考证,上面有赛点信息,比赛从9.开始比到13.总共4个小时,不用自己带电脑,用赛点的台式机,上面装好了IDE,一般C/C++组的是Dev-C++(其他组不太清楚),建议大家先去熟悉对应的IDE如何使用,(因为去年我旁边的同学,不知道怎么在Dev上建控制台文件。。。。。所以大家最好去熟悉一下)。然后如何提交代码,进入考场后监考员会告知一个网址,我们在浏览器上输入这个网址,就来到比赛页面,然后登录(登录的账号一般是和你的准考证有关,然后密码好像也是和你的某个信息有关(忘了)),登录完就能看到每道题的提交位置。还有题目的文档(应该是要在那个页面下载的,有点忘)在没到点的时候,你是打不开的,到点了就会公布这个文档的密钥,然后你就可以打开这个文件看题了。然后在本地的IDE上按要求写完,调试完,就可以交到那个网站上去了,OI赛制,不会有任何反馈的,以最后一次提交为准。然后省赛就这么结束了。

​ 等两个星期左右,成绩差不多就出来了。然后如果拿到了省一,就可以参加国赛了,国赛流程和上面差不多,国赛一般是在6月(去年是6月1号比赛,然后6.2号晚上就出成绩了,效率挺高,不过去年是十五周年(国赛选手都发了件纪念T恤),顺带吐槽一句,去年的官方直播真是答辩,太卡了。。。。)然后比赛流程就是和省赛差不多。

​ 补充,草稿纸也不用自己带,但是笔要自己带(如果有需要的话),然后去年我那个省赛考点是不准带水的,也不发水。国赛的考点,就发了水。

4.如何准备

​ 先说一下当时的个人情况,当时本人只学过C语言和数据结构。然后寒假就开始刷题,一开始就是盲目的刷(一天刷个7-8题),然后在这个过程中,我就明显的感觉编码能力肯定是提升了,因为写多了嘛,熟能生巧,但是这个阶段还是很菜,因为我去打了把蓝桥的双周赛,那把周赛比较简单,但是我才做出三道题,然后过了两周我又去比,没想到只做出来一道题,博主有点难受,我开始意识到这样盲目刷题不行。开学之后,我就到学校图书馆借了两本书,书名《算法竞赛》。然后就开始刷蓝桥历届真题,然后遇到相关的知识点,就去书上找对应的知识看,看不懂就在b站上找视频,在CSDN上找题解,我坚持这样做了一个多月,来到省赛前夕,双周赛(小白)比较简单的场次,我能切出5道题左右(还没有AK过。。。),江苏省排位(参加小白赛的人不多,而且一般是真小白)能有rank8-9,这给了我比较大的信心。然后就去比了,最后也是苟到了省一。

​ 我还是走了很多弯路的,所以我以一个事后诸葛的视角,来审视这个过程,我认为,应该重点掌握以下知识:

1.非常非常基础的数论(快速幂,求质数,gcd,lcm等等)

2.dfs(搜索),就是递归,递归绝对是区分一个人到底有没有学过算法的一个分水岭,蓝桥杯为什么以前被人叫做暴力杯,因为很经常题目都可以用暴力搜索的方式来获取部分分数,甚至是全部分数的,所以如果你没什么时间,我建议你优先练这个。

3.一些非常常见的数组操作(前缀和,差分)

4.二分(真的很爱考二分,二分练会了真的大有用处,二分查找,二分答案,这些都要掌握)

5.dp(动态规划),这个东西真的挺难的,而且也爱考,蓝桥现在也被大家称为dp杯嘛,因为前几年开始大量的考dp,至少要掌握一些最基本的模型吧,01背包,完全背包,子序列问题等等。

6.参加C/C++组的同学,学学STL吧,真的非常非常有用,绝对是算法竞赛中堪称神器的存在,不要说你不会C++,就不去学,只要你用过一段时间,你会觉得真香的。

5.其他建议

​ 建议多打一些线上赛,不管是蓝桥的双周赛,还是Atcoder,cf都可以,我那段时间就是一直打蓝桥的双周赛,有时候比赛的时候AC了一道题真的挺开心的。

​ 注意不要一味的刷力扣,因为力扣只要你写核心代码,你要是只刷力扣,很可能你会不知道怎么写输入输出,现在OJ很多,刷洛谷的或者是蓝桥自己的OJ都可以,重点是要多刷题。

​ 建议少看点知乎,因为感觉上面大佬太多了,动不动就是什么金牌,银牌,国特,国一,然后和你说一大堆这个比赛含金量极低,说什么特别简单,用脚写都能省一这种话。少看少看,我相信这些大佬确实都极具实力,因为我后面确实参加了CCPC的省赛,还有一些其他的算法竞赛,确实体会到了人世间的参差,有些人的脑子,你不得不佩服,他就是非常的好使。但是我相信大部分同学都是和博主一样资质平庸的人,我们尽我们所能,争取一个好结果就好了。

6.一些感悟

​ 蓝桥年年有人吐槽,年年的报名人数越来越多,你问我这个比赛是不是真的水,我不知道。但是我知道,这个比赛普及率确实很高,给了很多计算机学生一个比赛的平台,不是每个学校都有XCPC名额的,也不是所有人都有能力做acmer的。中国如此多的计算机学子,相信和博主一样确实天资愚钝的同学还是占大多数的,参加这个比赛,我确实收获了一些东西:

​ 1.我认为他确实提升了我的编码能力,使我的编码思路清晰了很多,至少现在遇到那种很简单题目,3minAC的感觉真的挺爽的,学习一些别的语言,也会觉得学的比较快,因为思想是一致的,不一致的只是语法。

​ 2.让我认清了自己的渺小,不去比赛闭门造车犹如坐井观天,参加比赛遇到自己觉得很难的题被大神秒解,就犹如一粒浮游见青天,让我清楚的意识到,我和大佬的差距和周遭同学的差距,让我更加努力的去学习,因为我知道再不学,在这个就业环境不景气,狼多肉少的时代,我们这种水平的对口就业,真的就是失业。

​ 3.交到了一些优秀的朋友,认识了一些优秀的人,他们或许很厉害,或许和我们一样在这种环境下显得有一些挣扎,但是平时终于有人能和我们去讨论一些问题,使我们学习的时候不再那么孤单。

​ 暂时先写这么多了,博主后面想到什么注意事项再补充吧,感谢你能看到这里。博主计划后序写一系列有关蓝桥往届题目的题解,尽可能的详细,面向新手,期待的小伙伴点个关注吧。如果有问题想问,就在评论区留言吧,欧千万不要问多少分能拿省一,没公布分数,只有排名,所以如果你问我,我也不知道,好好准备就行,结果会比你预期的好。

相关文章:

蓝桥杯备赛经验帖

蓝桥杯备赛经验帖 作者:blue 时间:2025.2.1 文章目录 蓝桥杯备赛经验帖1.为什么有这篇文章2.赛制3.比赛流程4.如何准备5.其他建议6.一些感悟 1.为什么有这篇文章 ​ 笔者近期发现,观看我写的两道第十五届蓝桥杯题解的人数逐渐增多&#xf…...

一文大白话讲清楚webpack基本使用——17——Tree Shaking

文章目录 一文大白话讲清楚webpack基本使用——17——Tree Shaking1. 建议按文章顺序从头看,一看到底,豁然开朗2. 啥叫Tree Shaking3. 什么是死代码,怎么来的3. Tree Shaking的流程3.1 标记3.2 利用Terser摇起来 4. 具体使用方式4.1 适用前提…...

【C++ 区间位运算】3209. 子数组按位与值为 K 的数目|2050

本文涉及知识点 位运算、状态压缩、枚举子集汇总 LeetCode3209. 子数组按位与值为 K 的数目 给你一个整数数组 nums 和一个整数 k ,请你返回 nums 中有多少个子数组 满足:子数组中所有元素按位 AND 的结果为 k 。 示例 1: 输入&#xff1a…...

8 比例缩放(scale.rs)

scale.rs代码是几何变换库euclid中典型的数据结构和方法的例子,用于处理二维和三维空间中的缩放变换。 一、scale.rs文件源码 //! A type-checked scaling factor between units.use crate::num::One;use crate::approxord::{max, min}; use crate::{Box2D, Box3D…...

二分 机器人的跳跃问题

二段性:找到一个值&#xff0c;大于此值的时候都成立&#xff0c;小于的时候都不成立 更新的方式只有两种&#xff0c;左边的mid更新不需要1&#xff1b;右边的mid更新需要1 //对能量进行二分&#xff0c;确定能量的范围 //特判防止溢出int #include<bits/stdc.h> using…...

Hive:复杂数据类型之Map函数

Map函数 是Hive里面的一种复杂数据类型, 用于存储键值对集合。Map中的键和值可以是基础类型或复合类型&#xff0c;这使得Map在处理需要关联存储信息的数据时非常有用。 定义map时,需声明2个属性: key 和 value , map中是 key value 组成一个元素 key-value, key必须为原始类…...

R 字符串:深入理解与高效应用

R 字符串:深入理解与高效应用 引言 在R语言中,字符串是数据处理和编程中不可或缺的一部分。无论是数据清洗、数据转换还是数据分析,字符串的处理都是基础技能。本文将深入探讨R语言中的字符串概念,包括其基本操作、常见函数以及高效应用方法。 字符串基本概念 字符串定…...

设计模式Python版 桥接模式

文章目录 前言一、桥接模式二、桥接模式示例三、桥接模式与适配器模式的联用 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&…...

记5(一元逻辑回归+线性分类器+多元逻辑回归

目录 1、一元逻辑回归2、线性可分&线性不可分3、Iris数据集实现多元逻辑回归4、绘制分类图5、鸢尾花分类图6、多分类问题&#xff1a;&#xff08;softmax回归&#xff09;6.1、编码&#xff1a;自然顺序码、独热编码、独冷编码6.2、二/多分类问题&#xff1a;6.3、softmax…...

【Python】第七弹---Python基础进阶:深入字典操作与文件处理技巧

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】【Python】 目录 1、字典 1.1、字典是什么 1.2、创建字典 1.3、查找 key 1.4、新增/修改元素 1.5、删除元素 1.6、遍历…...

Nginx 运维开发高频面试题详解

一、基础核心问题 原文链接&#xff1a;https://blog.csdn.net/weixin_51146329/article/details/142963853 1、什么是Nginx&#xff1f; Nginx 是一个高性能的 HTTP 和反向代理服务器&#xff0c;它以轻量级和高并发处理能力而闻名。Nginx 的反向代理功能允许它作为前端服务…...

下载OpenJDK

由于Oracle需要付费&#xff0c;并且之前我在寻找openJDK的时候&#xff0c;我不知道网址&#xff0c;并且也不知道在这个openjdk这个网址里点击哪个模块进行下载。最近我在看虚拟机相关的书籍的时候&#xff0c;找到了相关的网址。 注意&#xff1a;下面的下载都是基于可以科…...

Web3.js详解

Web1&Web2&Web3 以下是Web1、Web2和Web3的详细介绍&#xff0c;以及一个对比表格&#xff1a; Web1 定义&#xff1a;Web1指的是有着固定内容的非许可的开源网络。特点&#xff1a;在Web1时代&#xff0c;网站内容主要由网站管理员或创建者提供&#xff0c;用户只能…...

学习串行通信

本文来源&#xff1a; [8-1] 串口通信_哔哩哔哩_bilibili 智谱清言 ------------ 串口&#xff08;Serial Port&#xff09;&#xff1a; 串口是一种应用非常广泛的通讯接口&#xff0c;串口成本低&#xff0c;容易使用&#xff0c;通信线路简单&#xff0c;可实现两个设…...

【leetcode强化练习·二叉树】同时运用两种思维解题

本文参考labuladong算法笔记[【强化练习】同时运用两种思维解题 | labuladong 的算法笔记] 有的题目可以同时用「遍历」和「分解问题」两种思路来解&#xff0c;你可以利用这些题目训练自己的思维。 559. N 叉树的最大深度 | 力扣 | LeetCode | 给定一个 N 叉树&#xff0c;…...

Rank-analysis-1.2——一款基于LCU API的排位分析工具,大四学生独立开发

LOL Rank Record Analysis&#xff1a;一款基于LCU API的排位分析工具&#xff0c;大四学生独立开发&#xff01; 大家好&#xff01;我是河南科技学院的大四学生&#xff0c;今天给大家分享一个我自己开发的软件——LOL Rank Record Analysis。这是一个基于 Riot 提供的 LCU …...

什么是门控循环单元?

一、概念 门控循环单元&#xff08;Gated Recurrent Unit&#xff0c;GRU&#xff09;是一种改进的循环神经网络&#xff08;RNN&#xff09;&#xff0c;由Cho等人在2014年提出。GRU是LSTM的简化版本&#xff0c;通过减少门的数量和简化结构&#xff0c;保留了LSTM的长时间依赖…...

Google Chrome-便携增强版[解压即用]

Google Chrome-便携增强版 链接&#xff1a;https://pan.xunlei.com/s/VOI0OyrhUx3biEbFgJyLl-Z8A1?pwdf5qa# a 特点描述 √ 无升级、便携式、绿色免安装&#xff0c;即可以覆盖更新又能解压使用&#xff01; √ 此增强版&#xff0c;支持右键解压使用 √ 加入Chrome增强…...

智慧园区综合管理系统如何实现多个维度的高效管理与安全风险控制

内容概要 在当前快速发展的城市环境中&#xff0c;智慧园区综合管理系统正在成为各类园区管理的重要工具&#xff0c;无论是工业园、产业园、物流园&#xff0c;还是写字楼与公寓&#xff0c;都在积极寻求如何提升管理效率和保障安全。通过快鲸智慧园区管理系统&#xff0c;用…...

【PyTorch】7.自动微分模块:开启神经网络 “进化之门” 的魔法钥匙

目录 1. 梯度基本计算 2. 控制梯度计算 3. 梯度计算注意 4. 小节 个人主页&#xff1a;Icomi 专栏地址&#xff1a;PyTorch入门 在深度学习蓬勃发展的当下&#xff0c;PyTorch 是不可或缺的工具。它作为强大的深度学习框架&#xff0c;为构建和训练神经网络提供了高效且灵活…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...

Python爬虫实战:研究Restkit库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的有价值数据。如何高效地采集这些数据并将其应用于实际业务中,成为了许多企业和开发者关注的焦点。网络爬虫技术作为一种自动化的数据采集工具,可以帮助我们从网页中提取所需的信息。而 RESTful API …...