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

零基础,两个月,如何蓝桥杯备战?

本文约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变换的高级感&#xff0c;大家可以合理利用这些样式到自己的按钮上 二.代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…...

世界顶级名校计算机专业学习使用教材汇总

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #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" /> 基本方法&#xff1a; public static long executionId; Override protected void onCr…...

基于springboot+vue的高校学科竞赛系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…...

SQL 练习题目(入门级)

今天发现了一个练习SQL的网站--牛客网。里面题目挺多的&#xff0c;按照入门、简单、中等、困难进行了分类&#xff0c;可以直接在线输入SQL语句验证是否正确&#xff0c;并且提供了测试表的创建语句&#xff0c;也可以方便自己拓展练习&#xff0c;感觉还是很不错的一个网站&a…...

中科大计网学习记录笔记(十四):多路复用与解复用 | 无连接传输:UDP

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…...

机器学习 | 实现图像加密解密与数字水印处理

目录 实现窗口可视化 数字图像加密 窗口布局设置 基于混沌Logistic的图像加密 基于三重DES的图像加密 数字图像解密 窗口布局设置 基于混沌Logistic的图像解密 基于三重DES的图像解密 基于LSB的数字水印提取 窗口布局设置 水印的嵌入与提取 实现窗口可视化 这里…...

AJAX.

概念:AJAX&#xff1a;异步的 JavaScript 和 XML AJAX作用: 1.与服务器进行数据交换: 通过AJAX可以给服务器发送请求&#xff0c;并获取服务器响应的是数据 使用了AJAX和服务器进行通讯&#xff0c;就可以使用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版本的回显服务器 客户端和服务器 在网络中&#xff0c;主动发起通信的一方是客户端&#xff0c;被动接受的这一方…...

w28DVWA-csrf实例

DVWA-csrf实例 low级别 修改密码&#xff1a;修改的密码通过get请求&#xff0c;暴露在url上。 写一个简单的html文件&#xff0c;里面伪装修改密码的文字&#xff0c;代码如下&#xff1a; <html><body><a href"http://dvwa:7001/vulnerabilities/csr…...

子网络划分与互通,上网行为审计

网络环境需求:在办公网络环境中,由于公司部门的划分,以及服务器、电脑、手机等设备类型,一般都需要划分多个网段,便于进行网络管理,并提升网络通信效率。各个子网段管理员控制设备的接入,子网段之间需要进行局域网通信,发送消息和文件,通常使用飞秋。服务器网段,禁止…...

如何快速删除node_module依赖包

利用npm&#xff1a;输入 npm install rimraf -g rimraf node_modules...

async/await 的用法

一、async和await定义 async 是异步的意思&#xff0c;而 await 是等待的意思&#xff0c;await 用于等待一个异步任务执行完成的结果。 1.async/await 是一种编写异步代码的新方法&#xff08;以前是采用回调和 promise&#xff09;。 2. async/await 是建立在 promise 的基础…...

JAVA面试汇总总结更新中ing

本人面试积累面试题 基础RocketMQSpring登录技能操作线程事务微服务JVMKAFKAMYSQLRedislinux 基础 1.面向对象的三个特征 封装&#xff0c;继承&#xff0c;多态&#xff0c;有时候也会加上抽象。 2.多态的好处 允许不同类对象对同一消息做出响应&#xff0c;即同一消息可以根…...

vue-利用属性(v-if)控制表单(el-form-item)显示/隐藏

表单控制属性 v-if 示例&#xff1a; 通过switch组件作为开关&#xff0c;控制表单的显示与隐藏 <el-form-item label"创建数据集"><el-switch v-model"selectFormVisible"></el-switch></el-form-item><el-form-item label&…...

数据结构-邻接矩阵

介绍 邻接矩阵&#xff0c;是表示图的一种常见方式&#xff0c;具体表现为一个记录了各顶点连接情况的呈正方形的矩阵。 假设一共有以下顶点&#xff0c;其连接关系如图所示 那么&#xff0c;怎么表示它们之间的连接关系呢&#xff1f; 我们发现&#xff0c;各条边所连接的都…...

基于CNN-GRU-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN&#xff08;卷积神经网络&#xff09;部分 4.2 GRU&#xff08;门控循环单元&#xff09;部分 4.3 Attention机制部分 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...