零基础,两个月,如何蓝桥杯备战?
本文约4000字,阅读时长8~12分钟。
首先说明,目前0算法基础,想在两个月后的蓝桥杯拿奖,有一定难度,但也不是完全没可能。在这么短的时间内选择正确的方法,做高性价比的事就尤为重要。
我是蓝桥云课省赛无忧班C/C++组的讲师Erik_Tse,我将从“赛道选择”、“大纲分析”、“学习计划”、“课程推荐”、“实战策略”五个方向给你制定一份详细的省赛拿奖攻略。
本文还包含部分蓝桥内部消息、历届真题获取方法等等,全文都是干货,车门已焊死,速速上车!
跪求各位的赞同与收藏,希望对你有所帮助,也欢迎转发给你身边正在准备蓝桥杯的朋友!
一、赛道选择
蓝桥杯大赛,作为一场严谨的个人闭卷竞赛(OI赛制),严禁携带任何资料。
| 规则项 | 描述 |
|---|---|
| 赛制形式 | 个人赛 |
| 考试内容 | 多道编程题目,每道题目包含多个测试点 |
| 提交反馈 | 赛后统一评测代码,提交后无实时反馈,无法看到实时排名 |
| 提交次数 | 每道题目不限制提交次数 |
| 错误惩罚 | 提交错误无惩罚,以最后一次提交为准 |
| 计分方式 | 根据每道题目通过的测试点数量获得相应分数 |
| 排名方式 | 比赛结束后,按照总得分进行排名 |
| 时间限制 | 每场比赛通常有固定的时间限制,蓝桥杯为4小时,一般为9:00到13:00 |
有一些人认为蓝桥杯太简单了,没有含金量,完全比不上ACM-ICPC,CCPC等比赛,甚至不如GPLT天梯赛!这里面有一定的认知误区,因为不谈赛道/组别谈比赛就是在耍流氓!
大赛分为C/C++、Java、Python三大赛道,每个赛道又细化为A、B、C三个组别,共计九个竞赛组别。
✨A组:985/211及双一流高校(难度较高)
✨B组:普通本科(难度适中)
✨C组:高职高专(难度较低)
对于初学者,或是算法基础相对薄弱的选手,我们建议从较低的组别开始挑战,例如C组。当然,如果你是本科生,则建议至少从B组开始。
值得注意的是,不同编程语言的赛道难度也略有差异。普遍观点认为,C/C++赛道最为激烈,Java赛道次之,而Python赛道则相对较为温和。但这一说法并非绝对,仅供参考。
对于毫无算法基础的选手来说,选择赛道的首要依据是自己的编程语言熟练度。选择你最熟悉、最有信心的编程语言,然后在此基础上,选择适合你的组别进行参赛。
蓝桥杯每年的时间线大致如下:

蓝桥杯大赛时间线(来自蓝桥官方)
二、大纲分析
先简单说下题目分布:总共十道题,五道填空题(考察计算机基础知识,不会太难,稍微准备下就行),五道程序设计题(重点和难点)。
2024年的蓝桥杯大赛的大纲已经出了,附上几张图吧。

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)
但是大家请注意,最后一句话“实际比赛内容不限于大纲列举内容”,说明大赛实际比赛题目是有可能超纲的,但是对于0基础想拿奖的同学也不重要了,根本接触不到超纲的部分。
为了再次降低备考压力,我们重点需要关注的算法是:
1.基础算法(循环、递归、前缀和、差分、双指针、STL用法)
2.排序(桶排序、快速排序)
3.搜索(DFS,BFS,剪枝,记忆化)
4.贪心(常见贪心模型)
5.二分(二分数组、二分答案)
6.动态规划(背包DP,状压DP,树形DP,DP简单优化)
7.数据结构(树状数组,ST表,手写栈、队列、链表,单调栈、单调队列)
8.图论(并查集,LCA,Dijkstra,Floyd)
9.数学(唯一分解定理,GCD和LCM,快速幂,乘法逆元,组合数,欧拉筛法)
10.字符串(kmp会背就行,Hash,马拉车)
前几年一直有人说蓝桥杯是暴力杯,然后又变成了DP杯,现在说实话蓝桥杯的难度已经比较高了,因为近年来蓝桥杯引进了一批打ACM的人。(唉,打ACM的真的是 )
相信有不少同学看到这已经一脸懵逼了。铁铁,什么是贪心?什么是二分?中分行不行?这些乱七八糟的英文算法是什么?

前途一片黑暗啊
如果我只想摸一个省三就退役,怎样才能稳?
好好好,再次降低备考压力,根据对往年蓝桥杯省三水平的题目分析,仅需学好以下重点即可:
1.基础算法(循环、递归、前缀和、差分、STL用法)
2.排序(桶排序、sort函数)
3.搜索(DFS,BFS,剪枝,记忆化)
4.贪心(常见贪心模型)
5.二分(二分数组、二分答案)
6.动态规划(背包DP)
7.数据结构(栈、队列)
8.图论(并查集,Dijkstra,Floyd)
9.数学(质因数分界,GCD和LCM,快速幂,乘法逆元,埃氏筛法)
如果这些你依然不知道是什么东西,欢迎来报名由我主讲,已有1k+选手选择的《算法基础课》,往下划,在课程推荐的第二个(两杯奶茶钱,24小时算法图解+代码精讲+在线刷题快速入门算法竞赛)!

相信e哥、理解e哥、成为e哥
三、学习计划
将未来的时间划分为14周,坚持每天拿出或者挤出6个小时来学习算法,可以参照以下的计划:
第1~2周:学完C/C++语法。
实际上我们需要学习学习的是C with STL,把STL中的vector,map,queue,priority_queue,set,bitset,deque这些东西学一下用法就行了。其他语言也行,但我是C/C++讲师,所以我就默认C/C++咯~
第3~4周:学习基础算法。
暴力枚举,理解递归,自己实现桶排序、快速排序、归并排序(这几种排序比较重要)。
第5~6周:学习贪心、二分、搜索算法。
学习基本贪心模型(股票模型、排队取水、最多线段模型)、二分,暴力搜索DFS,最短路/最少操作次数BFS,搜索优化方法(剪枝和记忆化)。
第7~8周:学习动态规划。
学习动态规划中的背包、状压、树形、优化(二进制优化、单调队列优化),学习树状数组、ST表等用于解决区间和、区间最值之类的问题。
第9~10周:学习图论。
学习并查集(会路径压缩就够了)、倍增LCA、Dijkstra单源最短路、Floyd多源最短路等树上和图上算法。
第11~12周:学习数学。
学习数学(上述的几个算法都很简单的)和字符串(字符串的三驾马车:kmp、hash、manacher),字符串可能理解起来有点抽象,正常的,先背下来会用再说。
第13~14周:最后冲刺。疯狂刷题,坚持每天5~10题,积累题量,可以直接做真题。
想必你看到这里一定是云里雾里的,这些算法和数据结构我都听都没听过呀,不知道去哪里学,题目也不知道去哪里刷,少年莫慌,待我娓娓道来。
刷题平台(在线评测系统Online Judge)非常的多,例如poj、hduoj、luogu、atcoder等等,但是我强烈推荐你到蓝桥云课官方平台去刷题,因为不同的oj有不同的风格,例如poj、hduoj是偏向于培养ACM选手的,luogu是偏向培养OI选手的,官方的题库是最贴近真实比赛风格的,最利于培养蓝桥杯选手的。

蓝桥云课官网
官方的题库还有比较详细的分类,用户可以自行选择对应的题目去训练,做往年的真题也非常方便。

蓝桥云课题库
并且最近好像又更新了真题的题库,嗯,内部消息(虽然不是什么非常重要的消息就是了),你在其他地方哪里看得到,还不快点赞!

蓝桥历届真题
四、课程推荐
1)蓝桥官方课程-省赛无忧班

蓝桥云课官方课程
官方课程不多介绍,但是好像目前是最后一期了,价格是三四百,一共有一百多节课(每节课约10~20分钟)。感兴趣的同学可以去官网了解~
2)StarryCoding算法基础课 - 性价比之王
StarryCoding是由我本人创办的计算机综合学习平台,我希望打造一个更加适合CS大学生学习与成长的高性价比平台,为大家提供更好的一站式教育服务。

适用对象广泛

内容紧贴考纲,每节课约1.5小时高密度知识

广受好评,学习氛围浓厚,平等互助,拒绝歧视与绑架

视频、习题、文档,想学就学
没错,在学习算法的时候你甚至可以看V。
最最最最最最最最重要的是,由于课程的准备、录制、平台(前后端和评测机)的开发、推广都是由我一人完成,所以成本压的非常非常低,算法基础课仅售39元。
欢迎加入StarryCoding官方用户Q群:746470220(据说找群主还能领优惠)
悄悄说:StarryCoding平台还有算法中级课(可以自行了解)。
五、实战策略
1)暴力骗分
蓝桥杯采用的是OI赛制,题目是有部分分的(即通过一部分测试用例也给分),不要小看了这部分分,很多题目的数据范围都会留20%的样例让暴力算法通过,如果你的暴力写的有技巧,也许可以通过30%甚至40%的测试点。

数据范围
2)学会对拍
蓝桥的OI赛制意味着程序不能在线提交并立即评测(可以在本地测试运行,会给编译器),而是等待考试结束后将代码统一提交评测后出结果。
所以对于选手来说,自己检验自己的程序正确性非常重要,这个操作就叫做对拍,也就是自己造数据,然后用正确的暴力算法算出结果(可能花费较长时间),再用自己的算法跑一下,看看结果是否一致。
3)一定一定要避免低级错误
常见的低级错误有:
1.编译不能通过:蓝桥的官方编译器版本应该是C++11,不同地区可能有所不同,具体请询问官方,尽量不要使用过于前卫的语法,以免在评测机上导致编译出错。
2.忘开longlong见祖宗:有句话说得好“十年OI一场空,不开longlong见祖宗”,嗯,数据量较大时记得开longlong。
3.数组开小了:数组一定要开够,并且多开一些,例如题目要求1e5,那你可以开个1e5 + 9,在一些特殊的数据结构中可能需要开更大的空间,比如线段树开4N,主席树开32N。
4.忘记特判:有些题目需要特判0、1等等边界的数据,题目一般也会在边界上设置数据点,如果忘记特判很有可能就导致只能通过90%的测试点。
此外,还有一些其他的常见低级错误也需要避免:
-
变量名打错:确保所有变量名都是正确的,没有拼写错误。
-
逻辑错误:仔细检查算法逻辑,确保没有逻辑上的漏洞或错误。
-
输入输出格式错误:确保输入输出格式与题目要求一致,包括空格、换行等细节。
-
边界条件处理不当:除了特判,还需要注意循环、递归等结构的边界条件处理。
-
数组越界:虽然前面讲了数组开小了这个问题,但是即使数组开的足够,只要你越界,任何事情都可能发生。

所以不要越界
六、写在最后
预祝点赞的各位蓝桥杯嘎嘎乱杀,酷酷拿奖~
同时也欢迎关注我的知乎账号!溜了睡觉了喵

有技术的
相关文章:
零基础,两个月,如何蓝桥杯备战?
本文约4000字,阅读时长8~12分钟。 首先说明,目前0算法基础,想在两个月后的蓝桥杯拿奖,有一定难度,但也不是完全没可能。在这么短的时间内选择正确的方法,做高性价比的事就尤为重要。 我是蓝桥云课省赛无忧…...
基于Java+小程序点餐系统设计与实现(源码+部署文档)
博主介绍: ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到 Java项目精品实…...
炫酷3D按钮
一.预览 该样式有一种3D变换的高级感,大家可以合理利用这些样式到自己的按钮上 二.代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…...
世界顶级名校计算机专业学习使用教材汇总
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-IauYk2cGjEyljid0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…...
通过ffmpeg实现rtsp rtmp rtmps 推流
安卓端推流直接引用 implementation com.arthenica:mobile-ffmpeg-full:4.4 包 记得添加网络权限 <uses-permission android:name"android.permission.INTERNET" /> 基本方法: public static long executionId; Override protected void onCr…...
基于springboot+vue的高校学科竞赛系统(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 主要内容:毕业设计(Javaweb项目|小程序|Pyt…...
SQL 练习题目(入门级)
今天发现了一个练习SQL的网站--牛客网。里面题目挺多的,按照入门、简单、中等、困难进行了分类,可以直接在线输入SQL语句验证是否正确,并且提供了测试表的创建语句,也可以方便自己拓展练习,感觉还是很不错的一个网站&a…...
中科大计网学习记录笔记(十四):多路复用与解复用 | 无连接传输:UDP
前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信…...
机器学习 | 实现图像加密解密与数字水印处理
目录 实现窗口可视化 数字图像加密 窗口布局设置 基于混沌Logistic的图像加密 基于三重DES的图像加密 数字图像解密 窗口布局设置 基于混沌Logistic的图像解密 基于三重DES的图像解密 基于LSB的数字水印提取 窗口布局设置 水印的嵌入与提取 实现窗口可视化 这里…...
AJAX.
概念:AJAX:异步的 JavaScript 和 XML AJAX作用: 1.与服务器进行数据交换: 通过AJAX可以给服务器发送请求,并获取服务器响应的是数据 使用了AJAX和服务器进行通讯,就可以使用HTML和AJAX来替换JSP页面了 2.异步交互:可以在不重新加载整个页面的…...
Win32 获取EXE/DLL文件版本信息
CFileVersion.h #pragma once#include <windows.h> #include <string> #include <tchar.h>#ifdef _UNICODE using _tstring std::wstring; #else using _tstring std::string; #endif// 版本号辅助类 class CVersionNumber { public:// 无参构造CVersionN…...
回显服务器的制作方法
文章目录 客户端和服务器TCP和UDP的特点UDP socket api的使用DatagramSocketDatagramPacketInetSocketAddress API 做一个简单的回显服务器UDP版本的回显服务器TCP版本的回显服务器 客户端和服务器 在网络中,主动发起通信的一方是客户端,被动接受的这一方…...
w28DVWA-csrf实例
DVWA-csrf实例 low级别 修改密码:修改的密码通过get请求,暴露在url上。 写一个简单的html文件,里面伪装修改密码的文字,代码如下: <html><body><a href"http://dvwa:7001/vulnerabilities/csr…...
子网络划分与互通,上网行为审计
网络环境需求:在办公网络环境中,由于公司部门的划分,以及服务器、电脑、手机等设备类型,一般都需要划分多个网段,便于进行网络管理,并提升网络通信效率。各个子网段管理员控制设备的接入,子网段之间需要进行局域网通信,发送消息和文件,通常使用飞秋。服务器网段,禁止…...
如何快速删除node_module依赖包
利用npm:输入 npm install rimraf -g rimraf node_modules...
async/await 的用法
一、async和await定义 async 是异步的意思,而 await 是等待的意思,await 用于等待一个异步任务执行完成的结果。 1.async/await 是一种编写异步代码的新方法(以前是采用回调和 promise)。 2. async/await 是建立在 promise 的基础…...
JAVA面试汇总总结更新中ing
本人面试积累面试题 基础RocketMQSpring登录技能操作线程事务微服务JVMKAFKAMYSQLRedislinux 基础 1.面向对象的三个特征 封装,继承,多态,有时候也会加上抽象。 2.多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根…...
vue-利用属性(v-if)控制表单(el-form-item)显示/隐藏
表单控制属性 v-if 示例: 通过switch组件作为开关,控制表单的显示与隐藏 <el-form-item label"创建数据集"><el-switch v-model"selectFormVisible"></el-switch></el-form-item><el-form-item label&…...
数据结构-邻接矩阵
介绍 邻接矩阵,是表示图的一种常见方式,具体表现为一个记录了各顶点连接情况的呈正方形的矩阵。 假设一共有以下顶点,其连接关系如图所示 那么,怎么表示它们之间的连接关系呢? 我们发现,各条边所连接的都…...
基于CNN-GRU-Attention的时间序列回归预测matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN(卷积神经网络)部分 4.2 GRU(门控循环单元)部分 4.3 Attention机制部分 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
