十五届蓝桥杯结束,up也在这次比赛中获得了不错的成绩,为了帮助大家在25年蓝桥杯上获得好的成绩,我将根据今年的经验写一份蓝桥杯的备赛攻略,希望能帮到大家。
参赛准备
蓝桥杯算法赛必须指定一个编程语言赛道报名,也就是说,你必须选择一个语言去专项训练(每个赛道的题都不一样),其中比较火的赛道就是c/c++、java、python,如果是计算机专业大一(刚上大学)的同学,我推荐是学习一下c或c++,因为大一会有c语言专业课,打比赛的同时也减轻了学业压力,如果是其他专业的同学,我比较推荐python,入门快,好学习(而且python对于你的本专业也可能会有帮助),如果你是有一些编程基础(比如c语言考试结束的同学),我推荐你选Java打比赛的同时对以后就业有帮助。
然后就是编程软件,要注意参数要求你使用的软件,一定要提前去使用,以防比赛时因软件不熟悉而丢分(Java的eli那个我用的真的很难受)。
报名比赛
蓝桥杯的报名时间一般都是10~11月份,而比赛是在次年的5~6月份(省赛和国赛中间能间隔个20天左右),所以如果想参加25年的比赛,今年下半年就要注意学校统一报名的通知了(如果不是学生或者错过学校统一报名可以参加社会报名)。
蓝桥杯算法赛分为a区、b区和c区,其中a区是985、211的同学可以参加的、b区是普通本科的同学可以参加的,其次就是c区,是大专的同学参加的,在报名的时候要注意自己的区是否正确(好像大专和普本的同学也可以报名a区)。
知识点大纲和比赛信息
这里是十五届蓝桥杯的知识点大纲,25年的可能会有些变化:
大学C组
- 枚举法(填空题包好用的)
- 简单的排序方法(冒泡排序、选择排序、插入排序)
- 图的深度遍历和广度遍历
- 贪心
- 模拟
- 二分搜索法
- 动态规划(一维dp问题)
- 高精度问题
- 简单的数据结构(栈、队列、链表)
- 一些简单的数学知识(这个尽力就行,没必要专门复习)
大学B组
- 难的排序方法(归并、快速、桶、堆、基数)
- 搜索(剪枝、双向BFS、记忆化搜索、迭代加深搜索、启发式搜索)
- 二维动态规划(背包问题、树塔问题等)
- 字符串(哈希、kmp、manacher)
- 图论(欧拉回路、最小生成树、单源最短路及差分约束系统、拓扑序列、二分图匹配、图的连通性问题、DFS 序、最近共同祖先)
- 数学知识(排列组合、二项式定理、容斥原理、模意义下的逆元、矩阵运算、高斯消元)
- 数据结构(ST 表、堆、树状数组、线段树、Trie 树、并查集、平衡树)
- 计算几何(基础计算和基本位置关系判定、概率论、博弈论)
大学A组
- 字符串(AC 自动机、拓展 kmp、后缀数组、后缀自动机、回文自动机)
- 图论(网络流、一般图匹配)
- 数学知识(生成函数、莫比乌斯反演、快速傅里叶变换)
- 数据结构(树链剖分、二维/动态开点线段树、平衡树、可持久化数据结构、树套树、动态树)
考点难度向上兼容。A 组需同时掌握 B 组和 C 组知 识点,B 组需同时掌握 C 组知识点。这里考点这么多,我都不太会或者不精通怎么办,相信很多同学都有这样的问题,其实大家不必担心,这里的问题有很大一部分考的很浅,只需要知道即可无需精通(如果你只想拿国一那当我没说),重心还是要放在刷题上。
蓝桥杯省赛是8道题(往年好像是十道),国赛是十道题,其中有一小部分是填空,直接写答案就行,大部分是编程题,这里要注意的是,一定要看要求(如Java类名必须是Main,不能有package),要不然直接判错,比赛时间是4小时(9点到1点)。
这里给大家说个小技巧,填空题的结果都是唯一的且只用输出答案,我们如果知道简便方法,没必要用计算机硬算(省赛第一题、国赛第二题我都是手算哦),在省赛的时候,我用遍历,计算机跑了20分钟才出结果,和我手算的一样(手算5分钟就出来了),浪费我好多时间。
刷题怎么刷
这里应该是同学们最关心的地方,如果从来没有刷过题的同学,我推荐你直接去蓝桥杯官网刷历年真题,这样你可以快速的学会怎么做蓝桥杯这种类型的算法题(我听同学说洛谷好像也行),如果你之前在leetcode或其他网站上刷题,可以继续在上面刷大纲上这些类型的题(尤其是力扣有测试用例),但是一定要参加蓝桥杯的算法周赛,要不然会不适应(蓝桥杯要自己接收参数并输出)。
获奖预测(JavaB组)
这里根据我比赛的情况和我同学的情况对奖项进行分析,
省赛
- 省三:1~3道题;
- 省二:4~5道题;
- 省三:6~8道题(我做了6道题,第7题过了一部分测试用例)
国赛
- 国一:应该要全做吧(周围没人得奖);
- 国二:6~8道(我做了7道);
- 国三:5~6道;
- 国家优秀奖:1~4道;
其他赛道应该大差不大。
注意点
- 蓝桥杯在比赛的时候题不是在浏览器上而是发一个压缩包,题在pdf上,要注意监考老师说密码;
- 蓝桥杯上答案可以多次提交,取最后一次提交为最终答案,但参赛者无法看见测试用例和得分情况;
- 蓝桥杯的得分是分段得的(填空除外),如果有一部分测试用例很难通过(没思路的时候),直接跳过,如果遇见实在不会的题的时候,可以用Random函数放手一搏。
最后,希望大家专心复习,拿到自己想要的成绩,比赛加油!