原文:https://zhuanlan.zhihu.com/p/402757225
最近向苏老师咨询如何备赛 CSP 初赛的比较多,我写个攻略。
题目结构和达线要求
初赛一共 100 分。
其中概念题 15 题,每题两分,一共 30 分。会有一道数学难题和一两道数据结构难题,预期扣6分,拿到 24 分。
剩下 70 分,其中 40 分阅读程序,三道题。30 分完善程序,两道题。有判断正误,有选择。这 70 分,全靠猜,能拿到 18 分。加上前面概念题 24 分,一共 42 分。
2020 年北京 CSP-J1 进 J2 的复赛分数线 57.5 分。说明自己要拿到 15.5 分。大致算下来,后面的大题,要真正会做 7 道题才能进复赛。
落实到最后五个大题,阅读程序和完善程序两部分的第一题,真正弄懂,进复赛就有保证了。
如何找到自己的弱点和差距
首次参赛的同学,对自己的实力其实是不掌握的。一定要先搞清楚自己目前在什么水平,哪里是弱点,才能抓紧参赛前的这段时间好好准备。
评测的方法很简单,找到 2020 年 CSP-J1 的笔试考卷,打印出来,用连续的两小时做一遍。注意,做题过程中必须保证不要碰电脑,一定要自己做,尤其是手算部分,就用草稿纸和笔搞定。所以题目不要在电脑上看,一定要打印出来。
各省的复赛分数线不一样,像浙江、江苏这样的强省,分数线要到 80 分,初赛自己练就要有 90 分才有把握。北京考生,自己练习如果能到 80 分,进复赛就没问题了,只需要在赛前做套题热身一下。
如果没有到 80 分,可以把答卷拍照给我看看,帮你出出主意。
前 30 分的知识点欠缺
这一段先后有几位同学找我做过诊断咨询,从他们答卷的情况看,这些知识欠缺的情况比较常见。
初赛可能会有一两道组合数学的题目。一道比较简单的,另一道,会比较难,需要灵活应用加法原理和乘法原理,也可能会用到容斥原理。组合数学这块,可以这样学:
在国家中小学网络云课堂 https://ykt.eduyun.cn/ ,选择 【高中】/ 【高二下】/ 【数学人教 A 版选修二-三】/ 【第一章,计数原理】。这个是教育部组织的课程,组合数学这部分,是北京八十中的老师讲,有概念也有习题,所以只要跟着听下来,搞定初赛题应该没啥困难。
还有就是链表、队列、栈、图论(包括树)的概念题。这个首次参赛的好多同学没学到。这一部分基础知识其实并不难,可以到 oi-wiki 去学习。https://oi-wiki.org/ 。链表、队列和栈属于数据结构模块,图论和树属于图论模块。每一部分知识看看概念就行了,只考虑初赛的话,不用搞得太深。oi-wiki 上面没有习题,所以看完了之后,还得找历年的初赛题做一些练习。
后 70 分怎么提高
后 70 分的提高,只能靠练习。
练习的时候,不要只看题目和程序。一定要用草稿纸,跟着题目里面程序的思路写写划划,画一画,就摸清楚思路了。
另外,这种题目看题解没用。题解告诉你程序是怎么运行的,但是在考场上那点时间,并不够全弄明白的。真正在赛场上,要会通过构造一些小测试用例,猜出答案的规律来。
后 70 分,得分的关键是时间换分数。这部分题目在 2 小时内全部搞懂做完是很困难的。所以要通过练习,摸清楚自己的答题节奏,规划好时间,把时间换出来尽量多的分数。
最后祝同学们取得好成绩!