蓝桥杯备赛经验帖
蓝桥杯备赛经验帖
作者: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.为什么有这篇文章 笔者近期发现,观看我写的两道第十五届蓝桥杯题解的人数逐渐增多…...

一文大白话讲清楚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: 输入:…...
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…...

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

Hive:复杂数据类型之Map函数
Map函数 是Hive里面的一种复杂数据类型, 用于存储键值对集合。Map中的键和值可以是基础类型或复合类型,这使得Map在处理需要关联存储信息的数据时非常有用。 定义map时,需声明2个属性: key 和 value , map中是 key value 组成一个元素 key-value, key必须为原始类…...
R 字符串:深入理解与高效应用
R 字符串:深入理解与高效应用 引言 在R语言中,字符串是数据处理和编程中不可或缺的一部分。无论是数据清洗、数据转换还是数据分析,字符串的处理都是基础技能。本文将深入探讨R语言中的字符串概念,包括其基本操作、常见函数以及高效应用方法。 字符串基本概念 字符串定…...

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

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

【Python】第七弹---Python基础进阶:深入字典操作与文件处理技巧
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】【Python】 目录 1、字典 1.1、字典是什么 1.2、创建字典 1.3、查找 key 1.4、新增/修改元素 1.5、删除元素 1.6、遍历…...
Nginx 运维开发高频面试题详解
一、基础核心问题 原文链接:https://blog.csdn.net/weixin_51146329/article/details/142963853 1、什么是Nginx? Nginx 是一个高性能的 HTTP 和反向代理服务器,它以轻量级和高并发处理能力而闻名。Nginx 的反向代理功能允许它作为前端服务…...

下载OpenJDK
由于Oracle需要付费,并且之前我在寻找openJDK的时候,我不知道网址,并且也不知道在这个openjdk这个网址里点击哪个模块进行下载。最近我在看虚拟机相关的书籍的时候,找到了相关的网址。 注意:下面的下载都是基于可以科…...
Web3.js详解
Web1&Web2&Web3 以下是Web1、Web2和Web3的详细介绍,以及一个对比表格: Web1 定义:Web1指的是有着固定内容的非许可的开源网络。特点:在Web1时代,网站内容主要由网站管理员或创建者提供,用户只能…...

学习串行通信
本文来源: [8-1] 串口通信_哔哩哔哩_bilibili 智谱清言 ------------ 串口(Serial Port): 串口是一种应用非常广泛的通讯接口,串口成本低,容易使用,通信线路简单,可实现两个设…...

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

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

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

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

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

【PyTorch】7.自动微分模块:开启神经网络 “进化之门” 的魔法钥匙
目录 1. 梯度基本计算 2. 控制梯度计算 3. 梯度计算注意 4. 小节 个人主页:Icomi 专栏地址:PyTorch入门 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...