24年第一次参加蓝桥杯,凭着运气和两个月拼搏奋进的精神拿下蓝桥杯Java组的国家二等奖,但估计这也是最后一次了,因为我感觉第二次参加已经没有了首次比赛的动力和精力,自我认为最高就只能达到省二左右的成绩,虽然拿了奖学校都有奖金(省三500,省二1000,省一1500,国三1500,国二2000,国一3000),但我觉得已经达不到巅峰和没有那个运气了。学到的就要教人,现在分享一下我的比赛经验以及个人心得,希望能帮助更多的人在剩下的时间里高效学习,拿到心仪的比赛结果。
奖状如下:
首先蓝桥杯省赛估计在2025年4月12日左右,国赛在2025年6月15日,也就是说即使你现在才开始学习,还有两个月时间,完完全全来得及,我也是这样子过来的。只要你能戒骄戒躁,在剩下两个月时间潜行上进,相信出来的是满意的结果;
先说一下我两个月时间是怎么学的,我之前也是查了很多的博客和谷歌资料,询问了学长、身边朋友的经验,开始制定好学习计划,不拖泥带水,效率倍增。蓝桥杯考的知识点无非是算法+数据结果,往下看相信能得到意外的收获。
一、推荐观看的B站教学视频和网站
数据结构我在B站看的是
Java组经验分享| 蓝桥杯拿分技巧_哔哩哔哩_bilibili 千万要记住,不需要全都看完,也不需要对集合的底层实现这么了解,详细看自己不会或不熟悉的集合,看到熟练的快进或直接跳过,不懂再回来看,记住常用的几个集合和特征用法就足够了,比如HashSet的数值唯一,TreeSet的数值唯一且有序等等。
算法我推荐的是代码随想录,B站视频如下:
手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili
代码随想录网站:代码随想录
我觉得卡尔博主讲的很不错,我当时基本把他的B站算法教学视频都刷了一遍,掌握好每一个算法的经典问题和思路,懂得举一反三,在考场上运用基本的解题思路根据题意对症下药即可。重点学会动态规划,这个算法可以用在很多中题型上,背包问题、回溯算法、贪心算法也比较重要,最好都熟练掌握。
二、下载使用Eclipse做题,熟悉编译环境
因为蓝桥杯比赛用的是Eclipse,而不是我们一般用的idea,他俩的区别比较大,Eclipse的相对简单、朴素,更重要的是Eclipse的智能提示和代码分析通常没有idea强大,很多人都会用不惯,甚至有些人到考场上连运行的控制台都不知道在哪打开,不过这个不强求,最好是安装使用Eclipse做题,到考场真的不会就直接问老师、身边同学。
Eclipse是免费的基于Java的开发工具,安装路径如下:Eclipse Downloads | The Eclipse Foundation
Eclipse Downloads | The Eclipse Foundation
三、推荐使用蓝桥云刷题
算法比赛有很多网站可以刷,比如力扣、牛客网、Codeforces等,但我还是推荐刷比赛官方蓝桥云,总所周知,算法比赛一般分为ACM赛制和OI赛制:
ACM赛制:每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等结果,但看不到错误的测试样例(leetcode周赛可以看到),每道题都有多个测试点,每道题必须通过了所有的测试点才算通过。每道题不限制提交次数,但没通过的话会有罚时,仅以最后一次提交为准。比赛过程中一般可以看到实时排名,通过题数相同的情况下按照答题时间+罚时来排名。
ACM赛制的比赛:ICPC、CCPC、codeforces比赛、leetcode周赛及全国编程大赛、牛客小白赛练习赛挑战赛、传智杯。
OI赛制:每道题提交之后都没有任何反馈,每道题都有多个测试点,根据每道题通过的测试点的数量获得相应的分数。每道题不限制提交次数,如果提交错误没有任何惩罚,仅以最后一次提交为准。比赛过程中看不到实时排名,赛后按照总得分来排名。
OI赛制的比赛:NOI全国青少年信息学奥林匹克竞赛、CCF CSP、考研机试、蓝桥杯、牛客OI赛、全国高校计算机能力挑战赛。
蓝桥云是OI赛制的,每道题提交都会显示通过了几个测试点,所以大家做一道题实在想不出来可以尝试暴力解题,毕竟我们的目的不是答对多少道题,而是尽可能拿多一点分。蓝桥云也包含了蓝桥杯以往的真题,使得我们可以了解蓝桥杯是怎么出题的。
蓝桥云官网: 连接高校和企业 - 蓝桥云课
四、尽量不依赖答案
绝大多数人做一道题,过了半小时或者十几分钟做不出来就想着去看别人的答案,然后把答案记住,接着自己把答案写上过了,这样就天真地以为自己做对了题。你记住的只是答案,你记住的只是答案,你记住的只是答案,重要的事情重复十遍不为过。
不要天真的以为了半小时依赖答案做对一道题,一天下来完成七八道题很有成就感,别天真的以为自己这样做的效率很高,实则不然,更重要的是静下心来,领悟这道题的解题思路和突破口在哪,思考的过程才是制胜的法宝。一道题一个早上也没有解出来是我经常发生的事,一天下来实在想不出来才看一些别人的解题方法。我认为进步的因素不是做了几道题,而是花费了多少时间和精力。比赛也要像平时做题一样平稳,心态放端正,记住,平时做题当作比赛,比赛当作平时做题。
五、及时做好笔记
算法比赛训练时做好笔记非常重要。记录下每道题的解题思路、遇到的难点、用到的算法和技巧,以及调试过程中的细节,可以帮助你在复习时更好地理解和记忆。你还可以总结一些常见的套路,比如动态规划、分治、贪心、二分查找等,方便以后遇到类似题目时能迅速反应出来。
我当时是利用文档来记录自己觉得不错的方法或解题技巧,比如计算两个数的最大公因数和最小公倍数。在微信建立群聊记录蓝桥云有哪几道题没有做出来,参考别人的高效解题思路,试着自己能不能想出更好的方法或者在别人基础上完善。
六、如何优雅合法地骗分
众所周知,蓝桥杯又称为暴力杯(近几年难度持续加大,快变成dp杯了)。一方面这是因为蓝桥杯采用OI赛制,按照测试点给分,每通过一个测试点就能获得一定的分数,另一方面则是因为蓝桥杯大部分考察的内容很多是思维,dp和搜索。所以今天我们来展开说说在蓝桥杯中如何能够合理骗分。
合法的工具有计算器、excell(可以在比赛前先打开)
计算器不仅只有标准的形式,还有科学、程序员的形式能很好帮助我们计算
例如这道填空题直接利用计算器得出:
算出7正好对应他们的日历的G,答案就是G。
蓝桥杯如果出时间计算题一般都会以比赛时间为例,比如计算2000年1月1日到2025年4月12日一共多少天,可以借用Excel计算,当然比赛不会出这么简单的,更复杂的可借用Excel的公式;
对于一些没有任何思路的题目,可以使用多层循环来暴力得分;快要交卷时不要空着一些题目,直接样例输出,比如你知道结果可能有0,直接System.out.println(0),说不定测试点有0这个答案就能拿一个测试点的分;有一些题目的结果比较特殊,比如根据某规则判断输出值为....,否则输出-1,这种就直接输出特殊结果-1,这样得分概率会更高一点;
七、比赛注意事项
- 比赛时间4个小时,注意以提交题目的系统时间为准,做完一题交一题,避免最后因为时间不够没交完题。在4个小时中同一道题可以提交多次,每次提交都会覆盖上一次的代码;
- 比赛是早上9点-13点,中间可能会饿,最好带点面包和牛奶充饥;
- 填空题对就是对,错就是错,尽量保证在做对的情况下快速完成,能利用工具就利用工具(保持一道半小时内);
- 关于大题能多拿分就多拿分,别死磕一道题,直接用暴力解法;
- 比赛前先打开Eclipse测试输出,看下是否一切正常;
- 最重要一点是保持心态,你不会做的别人一样难,突破自我就是超常发挥;
八、保持每天五小时以上练习
如果不想自己的三百块扔进海里,就要付出,从现在开始改变,在接下来两个月时间里约束一下自己,上面说的技巧和运气只能做到锦上添花,不能雪中送碳,想不想咸鱼翻生就看接下来的表现,每看到自己的楼层更上一步也是会有成就感的。
我记得当时早上没课就去图书馆刷,有课就在教室刷,在嘈杂的环境下刷题也能模拟比赛锻炼自己(我记得省考的时候也很吵,好像是某个人的电脑出了故障),大学会有很多意外发生的,不像高中一切风平浪静,所有事情都有老师帮你安排好。更糟糕的是国考,当时下暴雨很难忘,我们自己约车去考试地点,几位膝盖以下的部位都湿透了,我像是在坐水牢一样,坐了四个小时,但心思都在比赛上,最终也是取得了理想的结果,所以大学比赛不仅仅包含比赛的。我当时是有空就刷题,直到图书馆10点半关门,我还记得有一次下午做得我都想要吐了(不知是不是没睡好的原因),但还是咬咬牙坚持下去。
最好能模拟几次比赛实验,在有效时间内锻炼自己的临场发挥、处事不惊能力和稳定的心态,还是那句话,平时训练当作比赛,比赛当作平时训练!相信付出总会有收获,结局也不会陪我们演戏。算了不说了,写了好几个小时了就这样吧,不强求点赞收藏,希望看了有收获到时候比赛有满意的结果回来报喜!!!!!!!