我是蓝桥云课省赛无忧班C/C++组的讲师Erik_Tse,我将从“赛道选择”、“大纲分析”、“学习计划”、“课程推荐”、“实战策略”五个方向给你制定一份详细的省赛拿奖攻略。
本文还包含部分蓝桥内部消息、历届真题获取方法等等,全文都是干货,车门已焊死,速速上车!
跪求各位的赞同与收藏,希望对你有所帮助,也欢迎转发给你身边正在准备蓝桥杯的朋友!
一、赛道选择
蓝桥杯大赛是闭卷(不允许携带任何资料)的个人赛分为C/C++、Java、Python三个赛道,每个赛道又细分为三个组别:
✨A组:985/211/双一流组
✨B组:本科组
✨C组:高职高专组
也就是说一共有9个组别。
对于0算法基础的选手,建议先从低组别(例如C组,但是如果你是本科就最低从B组)开始,逐渐提高自己的组别。
并且,不同的编程语言赛道难度(卷的程度)也略有不同,一般来讲是C/C++最卷,Java其次,Python在最后。(本结论经不起推敲,仅为民间传言)
对于0算法基础选手来说,首先是根据语法熟悉程度来选,熟悉哪个就选哪个赛道,然后再选择B组或者C组参赛。
二、大纲分析
2024年的蓝桥杯大赛的大纲已经出了,附上几张图吧。
但是大家请注意,最后一句话“实际比赛内容不限于大纲列举内容”,说明大赛实际比赛题目是有可能超纲的,但是对于0基础想拿奖的同学也不重要了,根本接触不到超纲的部分。
为了再次降低备考压力,我们重点需要关注的算法是:
1.枚举(循环枚举、递归枚举)
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的真的是 )
三、学习计划
将未来的时间划分为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分java蓝桥杯零基础钟)。感兴趣的同学可以去官网了解~
2)StarryCoding算法基础课 - 性价比之王
StarryCoding是由我本人创办的计算机综合学习平台,我希望打造一个更加适合CS大学生学习与成长的高性价比平台,为大家提供更好的一站式教育服务。
没错,在学习算法的时候你甚至可以看V。
最最最最最最最最重要的是,由于课程的准备、录制、平台(前后端和评测机)的开发、推广都是由我一人完成,所以成本压的非常非常低,算法基础课仅售39元。
欢迎加入StarryCoding官方用户Q群:(据说找群主还能领优惠)
悄悄说:StarryCoding平台还有算法中级课(可以自行了解)。
五、实战策略
1)暴力骗分
蓝桥杯采用的是OI赛制,题目是有部分分的(即通过一部分测试用例也给分),不要小看了这部分分,很多题目的数据范围都会留20%的样例让暴力算法通过,如果你的暴力写的有技巧,也许可以通过30%甚至40%的测试点。
蓝桥的OI赛制意味着程序不能在线提交并立即评测(可以在本地测试运行,会给编译器),而是等待考试结束后将代码统一提交评测后出结果。
所以对于选手来说,自己检验自己的程序正确性非常重要,这个操作就叫做对拍,也就是自己造数据,然后用正确的暴力算法算出结果(可能花费较长时间),再用自己的算法跑一下,看看结果是否一致。
3)一定一定要避免低级错误
常见的低级错误有:
1.编译不能通过:蓝桥的官方编译器版本应该是C++11,不同地区可能有所不同,具体请询问官方,尽量不要使用过于前卫的语法,以免在评测机上导致编译出错。
2.忘开longlong见祖宗:有句话说得好“十年OI一场空,不开longlong见祖宗”,嗯,数据量较大时记得开longlong。
3.数组开小了:数组一定要开够,并且多开一些,例如题目要求1e5,那你可以开个1e5 + 9,在一些特殊的数据结构中可能需要开更大的空间,比如线段树开4N,主席树开32N。
4.忘记特判:有些题目需要特判0、1等等边界的数据,题目一般也会在边界上设置数据点,如果忘记特判很有可能就导致只能通过90%的测试点。
六、写在最后
预祝点赞的各位蓝桥杯嘎嘎乱杀,酷酷拿奖~
同时也欢迎关注我的B站账号(有很多算法视频)!溜了睡觉了喵
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/4938.html