蓝桥杯省赛经验

先说点儿别的,我不怎么喜欢发博客这种总结性的东西(因为我感觉都是抄来抄去的没有什么意思,我个人也不喜欢这种总结方式),系主任要求的读后感和大作业的开发计划我从来没有写过(因为没有感受也谈不上有什么计划),之前有段时间发过一部分算法题的题解(后来没有坚持下来),个人水平有限很难也不愿意投入过多的精力在这种思路的解释上。

说说蓝桥杯吧,我是个双非学校的学生,错过了省内的程序设计竞赛(时间不固定),然后决定参加蓝桥杯,好歹也是程序设计竞赛,有比没有强。

18年参加过一次,报的是C++,感觉很不好,题目不难但是做着让人很难受,最后就拿了个省二排名还很靠后。看着别人很多博客说这个比赛水然后自己XJB敲都去北京了云云,自己却不能有个像样的成绩,心里其实很不舒服,但是心里还是默认了这种实力上的差距。

今年又参加了一次,因为上一次的感觉很不好,所以这一次确实是没少下功夫,我基本天天都会在LeetCode上看看题目,感觉实力进步肉眼可见。后来反思认识到上一次成绩不如意存在三个问题:1、对自己水平没有比较准确的估计,自我期望值说实话有点高。2、程序设计或者说算法思路上比起一些有经验的人来讲欠缺不少,就当时那个水平去参加没进决赛概率比较大。3、我平时都是用Java,结果选了C/C++那组,由于准备不够充分,发挥不行也有道理可讲。因此我这次选的是Java组。

然后稍微讲下这次的题吧,五个填空,五个编程。这次的填空没有程序填空,都是直接填写答案的那种。填空题比较简单,简单归简单得多个心眼儿,比如第一题求篮球队五个位置上可能的最大评分那个题,据说很多人直接把每个位置的最大值相加的答案提交了,这就属于多个心眼儿就不会错的题目。剩下的题都得写程序,字符串截取计数、变形的斐波那契数列、暴力破解求数字和方案数、dfs走迷宫然后贪心选最优解,应该是都对了,反正填空题比较轻松。

大题第一个是求数字中带2、0、1、9的数字之和,看起来应该是个送分题吧,我没找到什么规律,就直接暴力破解了,不知道测试用例有没有全部通过。

第二个大题很像去年的一个大题,但应该只是看起来像,这个题我也是用map直接暴力破解的,感觉应该是有比较巧的办法来缩小时间复杂度,当时没有想那么多。

第三个大题感觉像个动态规划的题目,应该可以那么做,然后我就照着DP的思路写的,对错未知。

第四个大题后缀表达式,这个题我没太读懂题,我不知道能不能用排列然后直接前面大的减后面小的那种解法,它给的测试用例也不明确,不过这个题好歹是大题倒数第二个应该不会这么简单,我把它当成了不能打乱顺序的题义去做的,用的是map当备忘录然后自顶向下的动态规划把这个题写出来了。

最后一个大题,就那个星际争霸灵能调度的问题,我不玩星际所以那个大段的题干我是一点兴趣也没有,题目我倒是看懂了,我感觉像个动态规划(我动态规划题刷的特别多,所以有时候看什么题都有想找递推公式那种冲动),我的思路是极小极大算法找规律然后用dp数组递推破解,有点像去年蓝桥杯填空第四题那个神经病的摔手机问题。可是这个题那个能量传递不限次数给我整蒙了,而且这个题也不是求最小的次数,而是求一个最大值在所有可行方案下的最小值,思路到此戛然而止没有什么突破了,而且前面那个大题我耗费时间有点长调了好长时间代码(坐的时间有点长我脑袋乱乱的有点烦了),这个题明显时间不够用了。再确认了前面九个题都提交无误,比赛时间就剩几分钟的情况下我就和朋友一起走出了机房。简而言之这次省赛还是老样子题很水,但是好像跟平时做的题目不太一样(可以理解为我前面说的题做着难受),我们平时在LeetCode上都是按模块做题(比如动态规划啊、搜索啊、二分啊、双指针啊、贪心啊之类的),蓝桥杯的这个题吧,看着都比较像模拟题(可能是水平有限),总之就是一个原题也没见过。。。全程思路还算清晰吧,也不怎么慌张,如果第九个大题能耗时少一点为最后一个大题多腾出点时间考虑就更好了。比赛结束后和朋友们一起做着公交回去了,大家心情都还不错,也对了几个题的答案,不过坐车全程头疼,难道是因为中午没有吃饭的缘故么?

回到学校后内心还是挺紧张的,不过成绩出来的很快。我之前只是感觉省一没跑,但没想到我是JavaB组第一名。。。我对此的解释是大神全跑去C/C++组了,再加上我报的是JavaB组也比较水,所以矮子里面出了个头。我挺激动的,不过还是要再接再厉,毕竟还有国赛呢(还TM的要交300大洋。。。)

最后对于省一这个标准我说说我的看法吧,我这次一个朋友拿的省二排名很靠前总感觉自己运气好点就能省一,我坚决否定了他这个想法。这个蓝桥杯确实是众所周知的圈钱赛事,毕竟有60%的人都能获奖,可见含金量和难度都不是很大,在众位大神眼中认为太水很正常。一个平时编码能力还可以(做个老师的大作业之类的,编程技术掌握的还不错的),但是没有专门抽空练习过编码技巧和算法思路的同学,如果直接去参加蓝桥杯,大概率就是个省二吧。拿到了省一的同学不见得完整做对了多少个题能力有多强,但是他们基本上都有一定的技巧(某些情况下你可以理解为脑袋好使)或解题的经验(OJ上刷题的经历,比如某些情况该怎么应对该怎么写),这就是一个门槛,在大家的智力水平都差不多的情况下不越过这个门槛就想拿省一还是很难的(上面的话仅代表我两次参赛的个人观点)回到开头吐槽博客上说这个比赛水然后自己XJB敲都去北京了云云这里,他们这样让你很不爽的贬低这个比赛的原因是因为他们确实在这个门槛上面,不出意外的话他们都能过关的。(这让我想起了我大二参加全国大学生数学竞赛,我认为我水平还可以就去了,校赛我也是XJBZ然后一等奖进省赛,省赛吧两大题做不完也是个一等奖虽然没能进决赛。我也没做什么准备。。。)所以对于那些成绩不理想来年还想再来还有摩拳擦掌打算明年参赛捞奖的朋友们,还是要

踏实下来好好的刷几个题。让自己的水平有实实在在的提升是最重要的。

原文地址:https://www.cnblogs.com/messi2017/p/10627911.html