蓝桥杯备赛经验帖
作者:blue
时间:2025.2.1
文章目录
- 蓝桥杯备赛经验帖
- 1.为什么有这篇文章
- 2.赛制
- 3.比赛流程
- 4.如何准备
- 5.其他建议
- 6.一些感悟
1.为什么有这篇文章
笔者近期发现,观看我写的两道第十五届蓝桥杯题解的人数逐渐增多,又是一年寒假一年蓝桥杯备赛季,突然想起去年这个时候,自己也是刚接触算法竞赛(属于比较晚的人了,大二才开始),面对即将到来的比赛也是非常的迷茫,无助,只会盲目的刷题,也不知道怎么练习,自己一个人慢慢地在网上了解赛制,规则。所以本文想以博主个人的亲身经历,向广大像我当时一样刚接触算法竞赛的同学,做一些介绍。
先说一下个人情况,博主当时参加蓝桥杯的时候是大二下半学期,最后是拿到了C/C++B组江苏省一,国赛是国三(博主知道自己很菜,大佬勿喷,叠甲叠甲叠甲),所以本文只适合小白,只适合小白,大佬请自动略过。另外,文章体系结构,全靠笔者天马行空,想到什么写什么,没有精密的安排,讲的不好的地方大家见谅(叠甲叠甲叠甲)
2.赛制
笔者在此就不从头到尾介绍算法竞赛是什么东西了,想必来看本文的都大概有所了解。笔者谨在此强调蓝桥杯是OI赛制,OI赛制,OI赛制!!!(强调!!!)
平时大家参加的一些线上赛基本都是ACM赛制,ACM赛制:每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等结果,但看不到错误的测试样例。每道题都有多个测试点,每道题必须通过了所有的测试点才算通过。每道题不限制提交次数,但没通过的话会有罚时,仅以最后一次提交为准。比赛过程中一般可以看到实时排名,通过题数相同的情况下按照答题时间+罚时来排名。
而OI赛制:每道题提交之后都没有任何反馈,每道题都有多个测试点,根据每道题通过的测试点的数量获得相应的分数。每道题不限制提交次数,如果提交错误没有任何惩罚,仅以最后一次提交为准。比赛过程中看不到实时排名,赛后按照总得分来排名。
赛制内容是引用于这篇文章编程比赛三大赛制介绍(ACM赛制、OI赛制、IOI赛制) - 知乎 (zhihu.com)
而且而且蓝桥杯是不允许带纸质资料的,注意不允许带纸质资料,这点与ACM赛制的比赛也不同。个人认为,这个OI赛制恶心就恶心在你不知道,你写的究竟是不是对的,因为很有可能你的代码,只符合样例,而对于其他测试点,你的代码是无效的。这就和平时考试一样,先写试卷,交上去,老师评分后,过段时间才公布排名。尤为注意答案仅以最后一次提交为准。
3.比赛流程
省赛一般是在4月份(去年是4.13),省赛前一个星期可以下载准考证,上面有赛点信息,比赛从9.开始比到13.总共4个小时,不用自己带电脑,用赛点的台式机,上面装好了IDE,一般C/C++组的是Dev-C++(其他组不太清楚),建议大家先去熟悉对应的IDE如何使用,(因为去年我旁边的同学,不知道怎么在Dev上建控制台文件。。。。。所以大家最好去熟悉一下)。然后如何提交代码,进入考场后监考员会告知一个网址,我们在浏览器上输入这个网址,就来到比赛页面,然后登录(登录的账号一般是和你的准考证有关,然后密码好像也是和你的某个信息有关(忘了)),登录完就能看到每道题的提交位置。还有题目的文档(应该是要在那个页面下载的,有点忘)在没到点的时候,你是打不开的,到点了就会公布这个文档的密钥,然后你就可以打开这个文件看题了。然后在本地的IDE上按要求写完,调试完,就可以交到那个网站上去了,OI赛制,不会有任何反馈的,以最后一次提交为准。然后省赛就这么结束了。
等两个星期左右,成绩差不多就出来了。然后如果拿到了省一,就可以参加国赛了,国赛流程和上面差不多,国赛一般是在6月(去年是6月1号比赛,然后6.2号晚上就出成绩了,效率挺高,不过去年是十五周年(国赛选手都发了件纪念T恤),顺带吐槽一句,去年的官方直播真是答辩,太卡了。。。。)然后比赛流程就是和省赛差不多。
补充,草稿纸也不用自己带,但是笔要自己带(如果有需要的话),然后去年我那个省赛考点是不准带水的,也不发水。国赛的考点,就发了水。
4.如何准备
先说一下当时的个人情况,当时本人只学过C语言和数据结构。然后寒假就开始刷题,一开始就是盲目的刷(一天刷个7-8题),然后在这个过程中,我就明显的感觉编码能力肯定是提升了,因为写多了嘛,熟能生巧,但是这个阶段还是很菜,因为我去打了把蓝桥的双周赛,那把周赛比较简单,但是我才做出三道题,然后过了两周我又去比,没想到只做出来一道题,博主有点难受,我开始意识到这样盲目刷题不行。开学之后,我就到学校图书馆借了两本书,书名《算法竞赛》。然后就开始刷蓝桥历届真题,然后遇到相关的知识点,就去书上找对应的知识看,看不懂就在b站上找视频,在CSDN上找题解,我坚持这样做了一个多月,来到省赛前夕,双周赛(小白)比较简单的场次,我能切出5道题左右(还没有AK过。。。),江苏省排位(参加小白赛的人不多,而且一般是真小白)能有rank8-9,这给了我比较大的信心。然后就去比了,最后也是苟到了省一。
我还是走了很多弯路的,所以我以一个事后诸葛的视角,来审视这个过程,我认为,应该重点掌握以下知识:
1.非常非常基础的数论(快速幂,求质数,gcd,lcm等等)
2.dfs(搜索),就是递归,递归绝对是区分一个人到底有没有学过算法的一个分水岭,蓝桥杯为什么以前被人叫做暴力杯,因为很经常题目都可以用暴力搜索的方式来获取部分分数,甚至是全部分数的,所以如果你没什么时间,我建议你优先练这个。
3.一些非常常见的数组操作(前缀和,差分)
4.二分(真的很爱考二分,二分练会了真的大有用处,二分查找,二分答案,这些都要掌握)
5.dp(动态规划),这个东西真的挺难的,而且也爱考,蓝桥现在也被大家称为dp杯嘛,因为前几年开始大量的考dp,至少要掌握一些最基本的模型吧,01背包,完全背包,子序列问题等等。
6.参加C/C++组的同学,学学STL吧,真的非常非常有用,绝对是算法竞赛中堪称神器的存在,不要说你不会C++,就不去学,只要你用过一段时间,你会觉得真香的。
5.其他建议
建议多打一些线上赛,不管是蓝桥的双周赛,还是Atcoder,cf都可以,我那段时间就是一直打蓝桥的双周赛,有时候比赛的时候AC了一道题真的挺开心的。
注意不要一味的刷力扣,因为力扣只要你写核心代码,你要是只刷力扣,很可能你会不知道怎么写输入输出,现在OJ很多,刷洛谷的或者是蓝桥自己的OJ都可以,重点是要多刷题。
建议少看点知乎,因为感觉上面大佬太多了,动不动就是什么金牌,银牌,国特,国一,然后和你说一大堆这个比赛含金量极低,说什么特别简单,用脚写都能省一这种话。少看少看,我相信这些大佬确实都极具实力,因为我后面确实参加了CCPC的省赛,还有一些其他的算法竞赛,确实体会到了人世间的参差,有些人的脑子,你不得不佩服,他就是非常的好使。但是我相信大部分同学都是和博主一样资质平庸的人,我们尽我们所能,争取一个好结果就好了。
6.一些感悟
蓝桥年年有人吐槽,年年的报名人数越来越多,你问我这个比赛是不是真的水,我不知道。但是我知道,这个比赛普及率确实很高,给了很多计算机学生一个比赛的平台,不是每个学校都有XCPC名额的,也不是所有人都有能力做acmer的。中国如此多的计算机学子,相信和博主一样确实天资愚钝的同学还是占大多数的,参加这个比赛,我确实收获了一些东西:
1.我认为他确实提升了我的编码能力,使我的编码思路清晰了很多,至少现在遇到那种很简单题目,3minAC的感觉真的挺爽的,学习一些别的语言,也会觉得学的比较快,因为思想是一致的,不一致的只是语法。
2.让我认清了自己的渺小,不去比赛闭门造车犹如坐井观天,参加比赛遇到自己觉得很难的题被大神秒解,就犹如一粒浮游见青天,让我清楚的意识到,我和大佬的差距和周遭同学的差距,让我更加努力的去学习,因为我知道再不学,在这个就业环境不景气,狼多肉少的时代,我们这种水平的对口就业,真的就是失业。
3.交到了一些优秀的朋友,认识了一些优秀的人,他们或许很厉害,或许和我们一样在这种环境下显得有一些挣扎,但是平时终于有人能和我们去讨论一些问题,使我们学习的时候不再那么孤单。
暂时先写这么多了,博主后面想到什么注意事项再补充吧,感谢你能看到这里。博主计划后序写一系列有关蓝桥往届题目的题解,尽可能的详细,面向新手,期待的小伙伴点个关注吧。如果有问题想问,就在评论区留言吧,欧千万不要问多少分能拿省一,没公布分数,只有排名,所以如果你问我,我也不知道,好好准备就行,结果会比你预期的好。
想问,就在评论区留言吧,欧千万不要问多少分能拿省一,没公布分数,只有排名,所以如果你问我,我也不知道,好好准备就行,结果会比你预期的好。