在信息学竞赛中,辨题能力往往比代码能力更重要!
共 1621字,需浏览 4分钟
·
2022-05-19 11:33
最近,MiMa收到一些家长的反馈:孩子刚入门信息学,经常遇到做不出题的情况,虽然没有解题思路,但是知识点学得不错,并且看到题解也能理解解题思路。
这是什么原因呢?总的来说,这是大部分孩子刚开始学习信息学都会遇到的情况!
大家都知道信息学竞赛比的是编程,它要求两部分能力。一是实现算法的能力,如何把脑子里的算法转换成代码;二是设计算法的能力,拿到题目后怎么去设计一个算法来快速解题。
那么,哪部分更重要呢?后者更重要!
其实,对信竞选手而言,刚开始学习信息学,最重要的不是掌握解题技巧,而是要先能够准确地辨别题目、认识到解法适用的场景……
一般来说,看似相同的问题,可能会有九九八十一变,想要准确地辨识问题,这需要孩子练就一双“火眼金睛”。
准确地辨识问题,其实就是把题目读懂,然后找解题思路。很多家长觉得读题很简单,其实不然。
题意有偏差就会耽误做题进度,后续的做题思路以及代码错误会消耗大量的时间。
那么,刚入门信息学的同学,如何才能准确辩题并且做出一道题呢?
1、一定要多读几遍题面,明白这道题到底考察什么,再去想做题思路。
2、观察题目的问题和给出的信息,来想和题目直接相关、可以解决题目的过程。
3、将解题过程转化为代码实现。到了这一步,我们用到的代码语法,包括后面更困难的数据结构,其实形式是固定化的,我们需要把前面多种多样的思路转化成真正实现的步骤即可。
大家多做一些题之后就会发现,很多题目的考点不在于某个算法本身,而在于思维能力,需要观察并发现题目中的性质来帮助实现算法。
这类题目有很多,刚开始会遇到小学数学里的应用题或者更难一点的小奥问题,到CSP-J/S阶段可能会考察构造题或者需要猜结论的题目。
遇到这些内容的问题,一般要靠自己构想解题思路,结合之前做过的题或找一些样例寻找灵感,也可以尝试一些非常通用的设计算法思路等。
从通俗的说法理解,孩子做信奥题的过程是一种“先写剧本,后看结果”的行为,这种特性就要求孩子必须先在脑子里构思并模拟出结果,最后再实际验证结果是否符合预期。
因此,我们平时做题需要多想、多练、多总结,有时换个角度思考问题可能会更快想出解题方法!
信息学竞赛为什么会与数学能力相关呢?
因为不管是入门级别还是提高阶段,很多信奥赛题都会考察数学知识。尤其是对于刚入门的选手来说,数学能力和编程能力关系很大。
信竞是个算法竞赛,所以,首先得知道怎么算,其次得知道怎么实现,最后还要会怎么分析算法的复杂度。这里的第一和第三步,都与数学紧密相关。
大部分信奥选手对信息学感兴趣都是起源于数学,并且一开始学习信息学的孩子,都会热衷于编写程序解决数学问题。
数学能力的提升,能解决很大一部分同学辨识问题的能力。因此,数学成绩好的同学,信息学成绩一定不会太差!
读懂题目最重要的一点,是需要你至少学过题目的算法,拥有足够的知识储备才能完成题目。
虽然每年的各大竞赛能出的题目可能有几十道甚至上百道,但在信息学竞赛能够用到的算法也就那么几十种,所以出的题不可能每一道都是全新的算法。
出题人一般要想出一道题,最方便的方法就是找一个以前出现过的模型或一个常见算法,再加一些其他元素进行修改,甚至也可能会将几个不同的算法合并成一道题放进赛题中。
所以,绝大多数的竞赛题,尤其是简单到中档难度的题,只要我们学过它对应的算法,都是能够通过稍微思考想出解题方法的。
这就是为什么说拥有足够的知识储备对做题非常重要。
除了以上几种方法,当遇到不会的问题,你可以根据以下问题先问自己一遍,再思考如何进行解题!
1、能读懂题目的用意吗?2、能理解给出的输入输出吗?3、能想出这道题的解题思路吗?4、能尝试写代码实现你的思路吗?5、是在做题中卡住了吗?- End -
▼点击阅读原文,立即报名密码岛信奥集训队!