
4年蓝桥杯牢油条-论参加编程竞赛对我的编程能力的成长
先看战绩
- 大一(十三届):省三
- 一个月时间,学习了Java的语法,简单做了点题目。浑浑噩噩拿了三等奖
- 大二(十四届):省三
- 在练习平台上刷了60多题,因为自己能获得一个省二,结果还是三等奖,太逊了
- 大三(十五届):省一国优
- 在练习平台上刷了30多题,状态最好的一次,省赛全省前15/50名。后续忙其他时间了1题都没有刷就参加了国赛,拿了个参与奖
- 大四(十六届):省一,国赛未开始
- 在练习平台上刷了5题,纯吃以前的老本了。排名20多名,不如去年。目前已经在工作了能不能准备国赛不好说(反正费用学校出)
(叠甲)本人并不好学,也不热爱算法,充其量就是一个什么活动比赛都在参与一脚的小瘪三。大佬们还请口下留情。
个人参赛经历
第一次参赛
也是大一入学的暑假有B站平台的一些视频看有看到有人推荐这个比赛,然后我在我大学学院的官网上也查询了学校发的获奖名单,就知道学校有组织这个。所以一入学的时候就有关注到这个比赛。
一般来说每个大一班级都会配备数个班助(有的地方又称呼为导生)帮助新生渡过大一的前几个月。 自然我也向班助询问了关于蓝桥杯等专业相关的竞赛和活动,不过我的班助并不是很清楚这个。于是我又去询问我的辅导员,我辅导员也是刚来的(比我们早几个月应该)所以也不是很懂这个。于是在大一的前俩个月我几乎没有了解到校内能有什么竞赛可以参加。因此前期主要在班级学委和一些组织部门里活动。
大概是10月,辅导员发了关于蓝桥杯的通知和微信群,很快啊。我加入了群聊。大概是几周后,开始了第一次培训。因为我大一的专业课只有一门Linux,所以我对编程语言的学习是几乎没有的。也是在这次培训中,我写了第一个Java的Hello World,为什么是Java呢?培训的老师说Java比较好拿奖。所以我就报Java了。
但是后续我一直忙于各种学校里的琐事,导致后面几次安排的培训我都没有去。第一学期结束时,我电脑里甚至没有Java。
寒假的时候我意识到,想要在大学里有更多的时间就需要提前做一些准备。我已经知道大一下学期会上C语言,所以我寒假的时候把C语言学了一下,学到了计算机二级的水平。刚好能含盖下学期的授课内容,这样我上课的时间就可以拿去做其他事情(打原神)了
不知道是为什么,大一下学期后我貌似把蓝桥杯忘记了。但是貌似是因为疫情蓝桥杯的报名缴费还没有结束(当时我还不知道蓝桥杯可以自己报名参加)
一直到了省赛的前一个月,老师在群里发通知说下周要确定缴费的人数了。会看我们在练习平台的做题情况。当时我一看到这个消息肾上腺素就彪起来了。反复想了想觉得一周时间开始学Java应该还有希望,决定冲一冲。
一周时间我并没有去学习Java语法,主要是因为部分地方和C语言类似,而且当时我觉得一周时间学基础还不如直接刷题(现在看来是一个很错误的决定)以至于我看别人代码里的List,Set是什么我不知道,我只知道这样写能实现我的效果,面向对象、集合什么的我一概不知。
前一周时间,我投入了很多空闲的时间在做题上。其实就是看别人的代码一行一行理解然后抄一遍。大概在练习系统提交了20多题,也是成功获得了省赛的资格。
后续直到省赛我一天大约能有2-3小时做题,我并没有增加多少的做题量,而是反复练习之前的很基础的题目,因为我知道反复抄别人的代码没效果。一定要有思路的同时自己能写出来。
比赛那天我通宵了,根本睡不着。比赛完后更是接受了自己只能获得优秀奖的事实(当时以为省赛有优秀奖)。因为13届的省赛对比12届的省赛题目难度根本不是一个级别(个人认为)
但是结果出来的那天我非常满意,这都给我混到三等奖了哈哈。爽~
第二次参赛
由于知道自己对Java的基础知识完全一窍不通,因此暑假期间我看韩老师的Java课程来补充自己的Java基础。
大二期间又忙了起来,因为我已经是一个部门的部长(而且是大头兵)部门的纳新、培训、活动组织等等忙的不可开交。我也做不到能把所有碎片化的时间都用来学习。
总之大二上学期我并没有怎么准备蓝桥杯,我当时还有参加其他比赛(数学建模等)。但是靠着吃老本也是通过的校赛。
寒假期间我开始刷题,直到省赛大约做了60多题。14届的省赛感觉比13届的还难。当时我还写了4-5题,还感觉良好的觉得省二稳了(估计填空全错,编程也没过几个样例)。总之结果就是三等奖,说实话当时对自己蛮失望的。
第三次参赛
由于上次的耻辱,第三次我依然选择参赛。但是我也明白我马上就要去实习就业了。因此我大二暑假期间学习了Spring Boot,Redis,对象存储,Vue,Element UI等等前端后端的技术。并没有去学习算法。觉得自己应该先保证自己能就业。
而且我反思了自己上次的情况,我其实从来没有系统的学习过算法。我都是直接刷题,不会然后在看读别人的代码是怎么做的。
因此大三我大部分时间都在开发项目,一部分的时间在力扣上跟着教程学算法。
大概做了30多题,而且15届省赛的题目比较简单,不是很考算法,更吃思维,能把题目读懂就基本能拿分了,我感觉自己状态也很好。但是俗话说期望越大失望越大,所以我还是觉得自己有省二就差不多。
最后是一等奖,而且还是省一排名比较靠前的,但是我也没有特别开心。因为我知道自己后续没时间准备国赛,没有国三的省一其实也不是那么的有含金量。
国赛题目的难度我个人做下来就是很考验算法了。对我这种刷题量不大的人来说确实拿国优也正常。
第四次参赛
工作了,实习了。可以说我实习还能去比赛(不止蓝桥杯)都是很难得了哈哈。完全没有准备,靠吃老本获得了省一。
可能是因为我在学校参加了很多东西,我发现工作后空闲时间反而更多了。实习了前半年我几乎空闲时间都在玩,之前的实习单位工作也没什么压力,完完全全的养老圣地。最近是也发现自己有点过于摆烂了,所以我跳槽换了单位,换了地方。有了一定的压力后最近自己也能抽点时间做题练习一下,以及学习技术。
不知道这次国赛能有什么成绩,其实无所谓了。毕竟前三年我都参加了,第四年凑满最后一年。
收获
参加编程比赛的好处其实我说不出来,其实就是和网络上说的差不多。什么锻炼自己逻辑思维呀,可以提高自己编程代码的能力啥的。
而且如果你是一个普通的后端开发,大部分时间都在写无聊的业务代码,我觉得偶尔做题可以活跃活跃自己脑子(个人认为)
作为一个民办本科院校的学生,在没有好学校的资源的情况下。这个比赛还是可以参加的,前提的费用要能报销,300是真的真的真的贵。除非说你确定能获得省一或者能拿到能报销的获奖等级(比如有些学校获得了省二等奖就可以报销费用)
