第九届蓝桥杯国一参赛感想

参赛感想

    大三下参加的第九届蓝桥杯大赛,荣获C/C++B组全国一等奖。说起为什么参加蓝桥杯,其目的当然是为了大四的保研拿点筹码。我最开始接触到这种编程大赛是在大二下,参加了我们学校微软社团组办的编程能力大赛,因为最后提交时间的原因,遗憾地只拿了第二。但是对于第一次参加编程比赛的我来说,已经是很大的激励了。于是我开始关注并留意各种编程大赛,包括各种线上OJACM等。最初我也有想过参加ACM,因为ACM的含金量可以说是算法比赛里顶级的了,但是ACM的参赛要求很高,首先报名费1个人就要上千,如果得不到学校的支持(希望学校以后能提供支持),对个人来说是笔不小的数额,其次需要组建13个人的团队,当时我在找团队方面就遇到了困难,身边的同学对ACM都没太大兴趣,其实也都可以理解,毕竟大量的投入都不一定能有所回报。于是在这种背景下,我觉得蓝桥杯是一个很好的选择,因为就我个人而言,我觉得蓝桥杯所涉及的算法,不用花不等价的大量时间和精力去学习和准备,而且其设立了分组,B组为非985/211学院,这样就帮你避免了大量的ACM选手,可以说是相当人性化了。

    再说说我的备赛过程吧,因为本科生导师计划我选择的是刘老师,而刘老师恰好是负责校内蓝桥杯的选拔,他推荐了我们一个OJ系统,叫LeetCode,里面主要收录的是公司的面试题,我认为这个OJ对于你入门算法题和编程大赛还是非常有帮助的,我可以说也是依靠这个入的门,里面的题分为3个级别,easynormalhard,我给我自己定的量是每天两道easy+normal或者一道hard,我算了一下从我第一天在leetcode上开始刷题到校赛一共35天,这时我已经基本能熟练掌握用递归解决问题了。校赛在我印象里很简单,基本只是考考你基本的编程基础,还考到了算法导论中的例题01背包。于是在校赛中我轻松以第一的成绩入围参加市赛,校赛就这样告一段落。

    校赛结束后是11月份中旬,之后就是临近期末和寒假,反正到3月份开学我只断断续续地刷了点题,到开学才恢复每天正常的量。之后在LeetCode上刷到了将近100题左右的时候发现,LeetCode对于我的作用已经不大了,毕竟他大部分收录的是面试题,对于真正的算法题来说,他有些过于简单了,并且对于时间复杂度的要求也不是很高,这时离市赛还有一礼拜。正好蓝桥杯官网也有个OJ系统,于是最后一礼拜我都在刷官网的题和历年省赛试题,发现其实蓝桥杯考的和LeetCode上的题差别还是很大的,所以我建议大家入门后还是多去刷刷真正的算法题。市赛是4个小时10道题,我觉得时间上还是相当紧的,比赛前我正好看到了填空题有一些小技巧可以节约时间,可以用EXCEL来解决基本的计算问题比如求和求日期差什么的,于是乎运气很好的第一题填空题就是求日期差,秒解,接下来的题目就是一些动态规划,深度搜索什么的。考完出来,其实还是挺慌张的,虽然说我所有题都写了,但是几道大题只能拿30%左右的分,因为我基本都是用暴力破解的办法做的,测试的时候数据规模一大就会超时,只能说市二还是有的,市一难说,但是要参加国赛的话一定要拿到市一,所以说考完出来其实不大好受。但是最后结果出来的时候我还是挺惊讶的,我不仅拿到了市一,而且还排在第三,我觉得是相当不错的成绩。于是我总结出来市赛只要你动态规划和深度搜索掌握到位了,并且你的题量刷上去,题目不要理解错,市一就稳了。读题一定要仔细,我们这一届有个题目,一个岛屿问题,题目问淹没了多少岛,就我所知就有相当多的一部分人求的是还剩几个岛,但是给的测试数据里淹没了几个岛和还剩几个岛都是1,所以很多人没发现,我室友也是因为这个问题与市一失之交臂。

    再之后因为我一直在忙着别的项目和比赛,到国赛前2个礼拜才开始继续刷蓝桥杯官网的OJ系统和历年试题,去国赛时,我已经掌握了大部分基础算法,什么最小生成树,最短路径,动态规划,贪心算法等,还有树啊图啊的数据结构也要熟练掌握,因为题目可能要让你自己构造树啊图啊,并且当你刷题的量上来后,你就会有发现有很多现成的方法,可以帮你节约大量的时间去解决一些基础的问题,比如排序啊,全排列等等,都是可以用一行就解决的。国赛还是4小时,但是只有6道题,我感觉相比于省赛,时间上要宽裕不少。我们这一届国赛的题目,我在做的时候感觉要比前几年都简单,第一题送分题,第二题动态规划,我一眼看出来了,就节约了很多时间,我大概花了十几分钟,而我边上的同学可能花了将近1个小时,第三题代码填空我们这一届很难,考了一个跟二进制按位与的操作,你如果之前不知道那个定理是很难想出来的,我是投机取巧用if的三元运算符枚举了5种情况,不知道算我对没对。我做完3题大概才过了1小时,还有3小时的时间就让我心情放松不少,第4题考的最短路,有个靠队列优化时间复杂的方法我之前看到过,但是考试的时候没想到,这题应该能拿780%的分,第5题和第6题我都是用的暴力破解深度搜索,应该都是拿的340%的分。考完出来心情还是很不错的,因为按我对省赛的理解,到这个程度国一没太大意外的话应该是有了。最后成绩出来果然是国一,但是排名不是很理想,排在国一的倒数,只能说是运气好,挤进了国一,可见国赛大家的水平都很厉害,毕竟都是省一选手,千万不可掉以轻心。

    最后,以第一次参加蓝桥杯拿到了国一,同时也是我校第一个C/C++组国一(Java组前2年有个国一)的成绩来说,还是相当满意和开心的,总结一下想要拿到好成绩,刷题是必不可少的,坚持不懈地刷题也是必不可少的。

  • 29
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值