【国赛B组一等奖备考经验分享】C/C++程序设计-新疆理工学院曾宋贤

张晓琳·武汉大学
2021-04-16
阅读数2774

    很荣幸作为蓝桥杯的获奖选手,来为您们分享下如何去准备蓝桥杯以及如何去学习一系列的算法。

    学习算法,是一件比较枯燥又有趣的一件事情,枯燥呢?就是你在学习过程中可能不会知道他的应用场景,所以导致给你的正反馈不够强烈。这样的话,你就需要去提高自己对算法的兴趣,最简单的办法就是找一个算法竞赛的巨佬,比如:楼教主,吉如一,等等,他们传奇的经历,可以激发你对算法竞赛的向往,但是有了偶像也不行,还得需要一定方向上的引路人,那么你就可以去寻找一些算法相关的书籍,带你一步一步来,算法能力不是一蹴而就的,不要盲目相信仅刷题一两个月就达到了专业级别,所以说,需要调整好心态,不要急功近利。

 

为什么参加蓝桥杯?

     首先蓝桥杯竞赛,蓝桥杯是针对全国高校的一个算法类竞赛,对不同层级的学生安排了不同的组,编程语言方面的选择性比较多,全国参加的人数还算比较多。参加蓝桥杯竞赛,可以给你一个学习过程中的及时的反馈,反馈出,你的算法学习状况如何,学习的效果如何,以及后期怎样提高自己,自己对那些知识点不够熟练等等。

 

我的比赛经历

     主要也是分为了几个阶段,大一上学期的时候,当时学校就是宣传蓝桥杯这个比赛,就想着去报名参加下,当时是抱着试一试的心态,但是是过了校选拔赛,然后再是报名了蓝桥杯这个比赛,因为疫情的影响,我们的这个省赛也排到了后面,当然也给了我们一些准备的时间,那段时间就是温故了一下自己不熟练或者是一些基本上忘记了的东西,当然刷了不少的题目,leetcode的hot100,牛客的专项题目和一些比赛,然后就到了省赛,省赛前几天呢,我记得当时还是刷了些简单的题目,来保持了一下手感,当时省赛的话呢,一共10个题的,填空题是全部做对了,编程题的话,一个没有做出来,然后就是自己觉得应该编程题是可以都ac的,当时省赛的结果下来,省一的第一名,国赛的话,当时课程比较多,时间比较紧凑,所以没有怎么去过多的刷题,就有时候打一场cf的div2,而且我记得当时国赛的当天,刚刚是我们学校期末考试,上午还是缓考,下午比赛完了就是接着考,当时的话,感觉还有点慌,国赛的话,一共也是做了9个,结果呢,就是国一的前五名。

 

如何去准备蓝桥杯?
    当然这里呢,也同时针对了一些大一的新生而且还没有接触过算法竞赛或者算法方面知识的同学,因此,我将准备过程分成了3个部分。
首先是语言关,熟话说,工欲善其事,必先利其器,因此,熟练掌握一门编程语言,cpp也好,java也好,python也好,并且针对性的去了解学习下该语言在算法竞赛中常用的某些方法,并且养成一定的编程风格,这样的话,你在接下来的算法学习中会降低你的代码中因为语法而产生的错误或者说是你没有养成一定的编程风格,你在竞赛过程中会写到后面忘记了前面,比如说变量名等等,就cpp而言,你除非学习他的一些基本的知识,你还得去学习一些算法竞赛中常用,比如stl容器,algorith头文件等等。
     当你的语言关掌握后,那么,你就得去学习一些基础的算法,比如位运算,搜索相关的算法,贪心,dp,图相关,数论等等相关的基础算法,当然这一部分,可以通过参考一定的相关书籍来进行学习;当然说,在这个过程不要囫囵吞枣,不要碰到一些自己无法理解的地方就放弃,或者说是打击到了自己的自信心就直接放弃了,这些都是不太好的。
在基础算法的相关学习中呢,一方面是学习你未学习过的算法,还有一方面呢?就是提高你自己的代码熟练度,当然很多算法都是具有某些模版题,我相信,模版题会让你体验到在oj上ac的快乐。数据结构与算法基础打好后,积累了一定的算法思想后,等你面对新的算法问题后,可以条件反射式的想到一系列数据结构与算法的时候,这个就你对算法产生兴趣的时候,有的事情,不是有了希望才去坚持,而是有了坚持才有希望,在基础算法的学习后,那么你就应该尝试着去一些oj(在线判题系统)去适当的刷一些题目,题量往往决定了你的高度。
 
     当然你也得正确的刷题,这个步骤也是很有讲究的,盲目的去刷题,会导致你得不到预期的正反馈,而得到负反馈而让你崩溃,作为过来人,我也讲一下我的刷题经历,前提就是掌握好语言,前面也有说到过,然后就是在掌握某些特定算法的时候,你去熟练的掌握下他的一些算法模版,这里建议反反复复的多去敲一下这些模版,一方面可以提高你对这个算法不懂的地方的认知,一方面呢也提高了你敲代码的速度,毕竟在比赛中时间也是有限的嘛,然后你去找一下这个算法相关的一些真题,并且每次做完后要懂得去总结,并且描述这题的注意点等等,当这样循循环环,一个算法知识点一个算法知识点一个一个解决和熟练后没那么现在你就可以去打一些中综合性的比赛了,比如codeforces div2 div3,或者牛客上的比赛也挺多,或者leetcode的周赛,这样都是很好的锻炼你的平台,但是每次打完后,一定要记得赛后补题,不要一打完就一走了之,要把没有做对或者有思路没有写出来的,去看看,也可以参考下别人的题解,然后再针对这个盲区或者不熟练的知识点,然后去针对刷题,这样下来,我相信,到后面你的算法能力会突飞猛进,并且你也可以感受到ac的快乐。
    好的,我的经验分享到这儿就结束了,预祝大家在蓝桥杯竞赛中取得好成绩!
收藏
分享
别默默的看了,快来和大家聊聊吧,登录后发表评论~ 登录 立即注册
打赏
张晓琳
打赏金额(金额:¥0)
给Ta留言
赏金已入袋,多谢!(*^__^*)
赛氪APP全新升级 反馈 下载
关注 微信公众号 关注赛氪订阅号 微信服务号 关注赛氪服务号
购物车
顶部
温馨提示

非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。

温馨提示
温馨提示
帮助与反馈

热门问题