“凡事预则立,不预则废。”2024年伊始,无论是文化课还是信奥,都要制定新的计划,树立新一年的目标。信友队邀请来自浙江大学的万弘学长,从寒假重要性、学习目标、学习重点等几个方面为大家分享,如何整体布局2024信奥比赛。

寒假重要性及学习目标

随着2023年CSP-J/S以及NOIP的结束,对于大部分同学来说,2023年信奥赛已经落幕了。但对于信奥选手来说,寒假并不像高考结束一样,是一个可以放松的时间段。反而是一个特别重要、需要把握的时间段。

寒假对于信奥选手的重要性体现在以下几点——首先,同学们应当对自己今年的得与失做一个小结。一次的得与失,确实不能表现真实的水平,但是必须要做出反思复盘,才能在新的阶段中按照经验正确地安排训练,避免失误再次发生。

复盘方向

今年的CSP-J/S、NOIP发挥是否满意?

如果满意的话,觉得成功原因是什么;

如果不满意的话,又是为什么没发挥好?

……

其次,大家可以想一想,今年学到哪些新知识点;对这些知识点的掌握程度如何,是不是有一些只背了代码,但却不清楚内在机理?

近几年的信息学竞赛趋势是重在考察选手的思维,和对于算法和数据结构本质的掌握。而不仅仅是只考模板题、板子题等这种只要会了知识点,把对应的代码复制上去就可以AC的题。

第三,利用寒假备赛。准备冲刺省队的同学,已经到了省队选拔前最后几个月的冲刺阶段,需要整理学过的知识点,定期进行模拟训练,巩固基础提高能力。

对于其他目标在于2024年CSP-J/S和NOIP的选手也要提前筑牢知识点基础,避免赛前临时抱佛脚。而暑假前半段和寒假是学习新知识点的最好时机。

知识点清单以及学习重点

信奥知识点学习的核心在于NOI大纲。

image.png NOI大纲是中国计算机学会,也就是NOI系列竞赛主办方推出的竞赛大纲。大纲划定入门级、提高级、NOI级三个部分。入门级对应CSP-J(普及组),提高级对应CSP-S(提高组)和NOIP,NOI级对应NOI(全国青少年信息学奥林匹克竞赛)。

大纲中每一个部分详细列出了知识点。以入门级为例,大纲列出需要掌握的标识符、关键字、常量,还有基本数据类型、基本的位运算等。

也可以把NOI大纲作为待学习清单,对应自己所处的竞赛阶段,按照清单上的知识点,依次学习,查漏补缺。

NOI大纲出现之后,减轻了对选手知识点广度的要求——NOI系列竞赛,包括省选和国家队选拔都遵从NOI大纲。但这并不代表信奥学习变简单了,信息学竞赛对于知识点深度的要求增大,现在的竞赛重点考察算法数结构本质,和选手对算法的应用。背题目模板就能AC,已经成为了过去式。

所以选手们学知识点时不能仅仅学习知识点本身,更要以系统视角学习。在寒假期间,同学们是有时间深入学习、理解数据结构的。

寒假怎么学

01 跟随老师上课节奏,及时完成练习

无论是文化课学习还是竞赛学习,最重要的都是跟随竞赛老师上课的节奏,认真听讲,并及时完成课后练习。

即使某个知识点之前学过,也需要听取老师在课上的思路讲解和知识点延伸,老师上课可能会提供不同的思路,有助于后续有更深层次的理解。

而因课上时间所限,同学们需要通过课后练习巩固训练。竞赛考察知识点的熟练应用和掌握本质,但如果不做课后练习,代码和最基本的模板出现错误,好成绩更无从谈起。

02 反复推敲新知识点

反复推敲新知识点,特别是没有完全理解,只背诵了代码的部分;对于完全掌握的知识,则可以主动探索这个知识点的更多应用。

我在学习完KMP字符串匹配算法后,自己独立研究出KMP自动机,字母匹配到下一个位置,不用再做一个while循环来计算下一个位置。虽然KMP自动机早早就有人发明过了,但通过自己的探索“再次发明”仍对学习KMP字符串算法有很大帮助,也增强了自信。

03 拓展题目

除了老师布置的课后训练,我们在课堂外要自行在洛谷,LOJ,UOJ等题库找相关题目进行训练。实力和刷题量是很有关联的。

04 网上查找资料

网上查找资料进行补充,对于信奥学习来说,也是很重要的一环。现在网上有许多相关文章,但同学们要注意甄别。许多文章或过于宽泛,没有谈及核心,洋洋洒洒几千字,实际上信息量很低,甚至有错误。

如何甄别资料

选择页面干净的资料来源网站;

大致浏览资料内容,资料详略得当,能够抓住算法关键;

……

同时也可以参考《算法竞赛进阶指南》等广受好评的书籍,参考老师或同学的推荐。

05 与同学交流讨论

对于竞赛阶段的选手来说,同学的讨论与交流是至关重要的环节,特别对于备战提高组的选手来说,知识储备增加,讨论交流就更加有效。

上课听讲或者看文章,是被动接受知识,我们大部分时间都在被动接受;而讨论是交互的过程,因此它是有独特的价值。

讨论的内容是新知识点,可以是自己没想通的地方,也可以是在网上见到的比较有趣的题目。

06 模拟练习和模拟赛

定期模拟练习,不过寒假不需要像考前那样频繁地进行模拟练习;

可以参加CodeForces等网站举办的在线比赛,在与他人的竞技中提升自己的实战能力。

如何进行时间分配

我建议按照优先级来分配信奥学习时间。按照听课=作业中的基础题、中档题>自己反思>课外题=作业中的拓展题>CodeForces等在线网站的比赛题的顺序,与同学的讨论时间可根据实际情况动态调整。

首先,最重要的是听课和作业中的基础题、中档题。这部分是基础,掌握知识点的基本原理和最基本的应用。

第二点是自己的反思,即反复推敲新知识点,特别是没有完全理解,只是记了代码的部分;以及主动探索知识点的更多应用。

第三点,作业中的拓展题和课外题。这些题难度较高,对于思维和算法本质的考察更难。作业中的拓展题略优先于课外题,切忌过于沉迷课外题,导致低效刷题。

信奥学习注意事项

01 不要多刷简单的题

信息学竞赛需要在挑战自我中超越自我、提升自我,沉迷于刷过于简单的题,对于信奥学习几乎没有什么帮助。在刷题的时候可以根据现在的学习进度刷题。

02 注重知识体系构建

注重知识体系构建,不要大量做杂题。比如现在学到的是筛法、素数、最大公约数,就要先将作业中的这块题目做完吃透后,再去找课外题目巩固提升,最后总结复盘。

学新知识点和做题练习都是为了构建自己的知识体系。如果在日常学习中做过多杂题,难以将它构建成一个知识体系。