获取竞赛信息的放心渠道
参加信息学竞赛,获取正确的信息很重要。很多家长习惯于从微信的朋友圈、公众号那里寻找关于信息学竞赛的信息,但是这些信息并不一定是手资料,信息学竞赛信息获取的放心渠道应该是青少年信息学奥林匹克竞赛的(www.noi.cn),因为信息学竞赛系列活动是由计算机学会来承办的,所以,一切与信息学竞赛相关的规则,比赛等信息都应该在计算机学会主办的这个上获取。
其次,可以从这个网站下载PDF格式的竞赛大纲,这是2021年4月发布的,我们可以对照上面的考点进行有针对性的复习,当然,适当的多学些超纲内容总是有好处的。比如前些年的NOIP复赛的有些题目,如果用超纲的算法来解决的话,会轻松很多。
竞赛分为初赛和复赛,初赛报名时间一般在每年的9月初,CSP轮认证约在每年的10月初(2021年是9月19日),各省的初赛分数线是不一样的,有的省份分数线非常低,二三十分就可以出线,有的省份分数线高到七八十分,所以有必要在NOI上查找一下历年的各省分数线,做到心中有数。
初赛怎么准备
初赛的复习不必过早准备,基础好的建议考试前半个月的时间复习,基础较弱的建议考试个月的时间复习即可。但如果本省的分数线很高,自己基础又真的很弱的话,可能准备的时间就要长一些了。
千万不要轻视初赛,初赛是有一定难度的,特别是在一些分数线较高的省份,很多学生初赛考了两三年都过不去的情况也是有的,甚至有些学生复赛可以考个比较高的分数,但是卡在初赛上过不去的情况也是很常见的。因为读取别人的代码和自己写代码是两码事。
初赛用书注意不要再用好几年前的辅导书了,要用近两年新出版的辅导书,因为考试的形式和内容和以前完全不一样了。推荐《信息学竞赛导航初赛篇》这本书,是由中山大学张子臻副教授主编的。
初赛近五年题目分析
初赛考察通用和实用的计算机科学知识,以笔试为主,部分省市以机试方式认证。
阅读程序和程序完善题入门组以数学,模拟和简单算法为主,提高组要加强字符串和数据结构的训练。
入门组
来看一下近五年初赛选择题分析,入门组15道题,一题两分,共30分,可以明显看出,计算机知识减少了,数学,数据结构的题目增加了。
2021年信息学竞赛如何备考?
剩下的70分是阅读程序和完善程序,主要集中在字符串处理和简单的算法。
提高组
再来看提高组的选择题分析,算法部分明显增加了,计算机知识明显减少了。
提高组的程序题主要集中在算法和数据结构。
选择题里计算机通识部分的考题数近几年明显变少,取而代之的是数学、数据结构等更偏向于编程本身的内容。这意味着竞赛越发注重编程能力的提升,而非理论知识的死记硬背。以往仅靠死记硬背和答题技巧通过初赛,但是复赛却一败涂地的做法,肯定是行不通了。
按照这个趋势备战2021年CSP-J/S初赛,选择题重点应该在算法、数学、数据结构上。算法部分以复杂度、排序为主,数学以排列组合为主,数据结构则以栈、链表、树、图的理论知识、特性、操作为主。
阅读程序和程序完善题:入门组以数组、模拟和简单算法为主;提高组中字符串和数据结构是常考点。
无论大题考察的知识点是什么,考生加强自身代码基本功很重要。读考题代码和自己写代码是两码事,考前还是应当花时间刷题,读一些陌生的代码,理解其他人的代码,尝试推导程序运行逻辑。
复赛怎样准备
怎么准备复赛,每个人有不同的方法,我这里推荐的方法,可以做为参考:
初期:一题多解的思维训练
我们都知道,信息学竞赛非常有意思的一个方面就是可以用多种方法来解题,不要局限于仅仅把一道题做出来就行。可以看看这道题是不是还有其他的解法,是不是可以在算法上,在细节上再进行优化,思考的越深入,算法理解的越通透,我们平常学习的知识点呢是一个一个单独的孤立的知识点,怎样把这些点想办法连成一个网状的结构,让它们之间互相关联,是一种非常好的思维训练方法。
近几年的竞赛中,考察选手“创新意识”的试题越来越多,即一道试题不能使用一个经典的现成算法来解决,而需要选手根据问题的需要,构造合适的数据结构,创造合适的算法解决问题。这种试题能有效的避免选手“培训猜宝”、考前“临阵磨枪”背诵算法代码,或者做几道经典题“以不变应万变”;选拔出真正具有分析、思考、编程能力的人才。
在《编程竞赛宝典》这本书的89页就讲解了一个多种解法的例题,这儿给出题目描述,读者可以尝试思考下,如何用三重循环、二重循环、一重循环、零重循环来求解。
把100元钱换成10元、5元、1元的零钱,求每种零钱都至少各有一张的情况下,共有多少种兑换方案?
后期:模拟竞赛
多参加实时的在线考试,平时的做题训练,和实时的在线考试,是截然不同的感觉,不经历模拟实战,等到了真正考试的时候,心里会紧张,心态会波动,不容易有好的比赛状态。
模拟竞赛还有一个好处是熟悉如何选择正确的顺序答题。不要一上来拿到题就做,要分析题目的难易度,优化做题策略。要做到这一点,就必须要把题目全部看完,确定题目的难易程度,决定做题顺序。正常情况下,我们的潜意识都认为题目的难度是逐渐增加的,但是曾经有一年复赛,出题者故意把难题放在了前面。结果考生一看,哇,题这么难啊,信心受到了极大地打击;再看第二题,感觉更难啊,还是不会做,这时心理就慌了;没办法,看第三题吧,结果发现第三题难题目描述就是满满一页纸,看十分钟看不明白讲的什么意思,这时心态就崩溃了;那就看第四题吧,一看,还好,描述只有两句话,感觉可以做出来的样子,于是就开始做了。但实际上,第四题是较难的一道题,做一两个小时都做不出来,而第三题,如果花半个多小时到一个小时看懂了题目,写起来却是较简单的一道题。结果那一年很多考生在这上面翻车了,所以切记,一定要把题目全部看完再动手编程,不要看周围的人已经噼里?拉的敲键盘了,心里就慌,想的怎么他们那么强,写的那么快?你应该这么想,看都没看完题目就急不可耐的写代码的人,太冲动了,一看就是菜鸟啊。真正的高手都是象我这样谋定而后动的。
所以说,自信,给自己一个积极的心理暗示,其实对你的现场发挥是很重要的。前几天CCF举办的NOI线上赛,我一个学生告诉我,他看错了两道题目,我说,你急什么呢?真正你会做的题,不差这一点时间的,你不会做的题,再多时间也没用,一定要把握比赛的节奏,一定要稳啊。