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

news2024/12/27 13:28:28

本文约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%的测试点。

此外,还有一些其他的常见低级错误也需要避免:

  • 变量名打错:确保所有变量名都是正确的,没有拼写错误。

  • 逻辑错误:仔细检查算法逻辑,确保没有逻辑上的漏洞或错误。

  • 输入输出格式错误:确保输入输出格式与题目要求一致,包括空格、换行等细节。

  • 边界条件处理不当:除了特判,还需要注意循环、递归等结构的边界条件处理。

  • 数组越界:虽然前面讲了数组开小了这个问题,但是即使数组开的足够,只要你越界,任何事情都可能发生。

所以不要越界

六、写在最后

预祝点赞的各位蓝桥杯嘎嘎乱杀,酷酷拿奖~

同时也欢迎关注我的知乎账号!溜了睡觉了喵

有技术的

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【咕咕送书 | 第七期】世界顶级名校计算机专业,都在用哪些书当教材?

🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 写在前面参与规则 ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论…

Docker基础篇(二)

docker run -d docker run -d 容器名或容器ID docker run -d 后台生成容器,并退出容器(除容器中在运行脚本) docker run -it 交互生成容器 docker run -d centos /bin/sh -c “while true; do echo zen; sleep 2;done” 查看容器中的进程…

2.5《Python3 网络爬虫开发实战》学习之实例实战1

目录 1 实战内容 2 确定思路 3 代码实操 3.1 实现一个个网页的爬取 3.2 爬取每一个网页的电影详情页url ​编辑 3.3 连接链接,针对每个详情页链接进行爬取、汇总内容 3.4 存储在txt文件中 4 结尾:整体代码 1 实战内容 爬取Scrape | Movie中所有…

Vi/Vim 使用小窍门,如何消除搜索后的关键字高亮

Vim/Vi 基本上是 *nix 世界最受欢迎的编辑器了,不知道为什么,一直以来觉得和 Emacs 比起来,Vim 更加有亲和力。用起来很舒服。 今天就记录一个困扰了我很久的问题。 大家应该都知道,在 Vi 里面如果要搜索某个关键字,…

观察者模式, 发布-订阅模式, 监听器模式

观察者模式, 发布-订阅模式, 监听器模式 观察者模式 观察者模式是一种行为型设计模式, 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新 角色模型和结构图 在观察者模式中,只有两种…

详解Monkey自动化测试(日志分析)

讲解如何利用monkey分析ANR、CRASH、以及monkey运行期间的系统日志。 1.log文件配置 首先对于report的日志命名需要有相应的规范,这里建议是将level 1的文件命名为verbose,将level 2的文件命名为error。前者主要是用来观看日志信息和事件分布信息,后者…

雷卯有多种400V以上的TVS产品供您选择

1.400V以上的TVS主要应用领域 1)电力系统保护:在电力系统中,电压突然升高或突然降低可能会导致电气设备受损或故障。400V以上的TVS可用于保护变压器、发电机和其他电力设备免受过电压或电涌的影响。 2)工业自动化:在…

el-table增加/编辑打开el-dialog内嵌套el-form,解决编辑重置表单不成功等问题

需求:在做表格的增删改查,其中新增和编辑弹窗都是同一个弹窗,之后有个重置按钮,需要用户输入的时候可以重置清空等。本文章解决如下问题 1.就是在编辑数据回填后点击重置表单没有清空也没有报错 2.解决清空表单和表格数据相互影响…

YOLO v9 思路复现 + 全流程优化

YOLO v9 思路复现 全流程优化 提出背景:深层网络的 信息丢失、梯度流偏差YOLO v9 设计逻辑可编程梯度信息(PGI):使用PGI改善训练过程广义高效层聚合网络(GELAN):使用GELAN改进架构 对比其他解法…

01 Linux简介

Linux背景 发展史 linux从哪来的?怎么发展的?得从UNIX说起 1968年,一些来自通用电气公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念1969-1970年&am…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(4.详解Hash数据结构)

Hash数据结构 看过前面的介绍,大家应该知道 Redis 的 Hash 结构的底层实现在 6 和 7 是不同的,Redis 6 是 ziplist 和 hashtable,Redis 7 是 listpack 和 hashtable。 我们先使用config get hash*看下 Redis 6 和 Redis 7 的 Hash 结构配置情况(在Redis客户端的命令行界面…

2-21算法习题总结

由于蓝桥杯的题,我不知道从怎么复制,就只能粘贴图片了 翻硬币 代码 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String start sc.next();char[] starts start.toCharArray();String end sc…

Redis面试题及核心知识点讲解

redis是单线程还是多线程? redis是单线程的,主要是指网络I/O线程。Redis的持久化,集群同步等操作,则由另外的线程来执行。 2 . redis是单线程,为什么处理这么快? Redis的大部分操作都是在内存中完成。单线…

选择VR全景行业,需要了解哪些内容?

近年来,随着虚拟现实、增强现实等技术的持续发展,VR全景消费市场得以稳步扩张。其次,元宇宙行业的高速发展,也在进一步拉动VR全景技术的持续进步,带动VR产业的高质量发展。作为一种战略性的新兴产业,国家和…

一分钟学会MobaXterm当Linux客户端使用

一、介绍 MobaXterm是一款功能强大的远程计算机管理工具,它集成了各种网络工具和远程连接协议,可以帮助用户在Windows系统上轻松管理远程计算机。MobaXterm支持SSH、Telnet、RDP、VNC等多种远程连接协议,同时还集成了X11服务器,可…

react hook使用UEditor引入秀米图文排版

里面坑比较多,细节也比较多 以下使用的是react 18 ice3.0,使用其他react脚手架的配置基本相同,例如umi4 1.下载UEditor 进入UEditor仓库,找到版本v1.4.3.3,点击进去 接着下载ueditor1_4_3_3-utf8-jsp.zip版本 下载好…

iMazing2024Windows和Mac的iOS设备管理软件(可以替代iTunes进行数据备份和管理)

iMazing2024是一款兼容 Windows 和 Mac 的 iOS 设备管理软件,可以替代 iTunes 进行数据备份和管理。以下是一些 iMazing 的主要功能和优点: 数据备份和恢复:iMazing 提供了强大的数据备份和恢复功能,可以备份 iOS 设备上的各种数据…

精品基于jsp+SSM实现的仓储物流管理系统-驿站快递登记取件

《[含文档PPT源码等]精品基于jspSSM实现的仓储物流管理系统[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版…

使用 package.json 配置代理解决 React 项目中的跨域请求问题

使用 package.json 配置代理解决 React 项目中的跨域请求问题 当我们在开发前端应用时,经常会遇到跨域请求的问题。为了解决这个问题,我们可以通过配置代理来实现在开发环境中向后端服务器发送请求。 在 React 项目中,我们可以使用 package…

MyBatis-Plus:通用分页实体封装

分页查询实体:PageQuery package com.example.demo.demos.model.query;import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.Data; import org.springframework.util.St…