在信息学奥赛(NOI)的备战圈子里,流传着一种看似颠扑不破的“真理”:想要拿奖,就得刷题。在这种逻辑下,不少选手一头扎进题海,以为熬过夜、刷够量,就能换来一块金牌。然而,当我们翻开那些站在世界之巅的选手的“秘籍”,却发现了一个与之相悖的真相——他们很少盲目追求数量,反而极其珍视每一道题背后的思考价值。
本文将从认知科学和竞赛实战的角度,深度剖析“题海战术”的误区,并结合金牌选手的经验,阐述为何“深度思考”才是信息学奥赛真正的通行证。
一、误区:“肌肉记忆”替代不了“大脑建构”
不可否认,任何技能的习得都离不开一定量的练习。在信息学奥赛的辅导中,许多教师和家长确实认为,“题海战”是学生练就编程硬功的必由之路 。然而,这种观点往往只看到了“量变”,却忽视了“质变”的触发机制。
如果我们将做题视为单纯的重复劳动,那么训练的本质就变成了追求“肌肉记忆”。在部分低年级的辅导中,确实存在这种倾向:学生通过大量重复的题目来记住if…else…的格式,记住while循环的语法 。这种训练对于应对学校里的期中期末考试或许有效,但对于旨在选拔顶尖人才的信息学奥赛而言,却是致命的。
信息学奥赛考察的核心,从来不是代码的默写能力,而是解决问题的能力。青岛大学教育科学学院的韩冬副教授在报告中曾尖锐指出,当前学习存在的最大问题,就是“灌输式教育导致学生缺乏自主思考与总结” 。当学生习惯了在题海中按照老师归纳好的“题型”去找“套路”时,他就丧失了面对未知问题时最宝贵的品质——探索欲和建构力。
真正的学习不是往水瓶里灌水,而是在学生心中点燃一把火。如果只是机械地刷题,学生或许能把一百道题做对,但遇到第一百零一道从未见过的新题型时,大脑便会一片空白。因为他们只有经验,没有策略;只有记忆,没有理解。
二、真相:金牌选手的“慢思考”
反观那些在国际信息学奥林匹克竞赛(IOI)中斩获金牌的选手,他们的学习方式往往呈现出一种“慢”的特质。
在2025年第37届国际信息学奥林匹克竞赛中斩获金牌的中山纪念中学选手刘海峰,就是一个典型例子。他的教练熊超在评价他时提到了一句至关重要的话:“刘海峰有个特点,在遇到难题时,他不是急着做,而是先想有没有更聪明的解法。”
这种“不急着做”,恰恰是深度思考的外在表现。面对一道题目,普通的刷题者会急于调用脑海中的现有模板去套用,以求快速“AC”(Accepted,即通过评测)。而顶尖选手的做法是,把题目当作一个需要解剖的对象:这道题的本质是什么?它背后的数学模型是什么?现有的算法中,哪一个能最优雅地解决它?甚至,我能不能想出比标准答案更优的解法?
这种思维习惯对应着一种高阶的学习模式。刘海峰的教练还强调,信息学竞赛教会学生的,不光是写代码,更重要的是遇到困难不放弃、一步一步解决问题的韧劲 。这种韧劲,不是靠简单重复的刷题能磨出来的,它来自于一次次深度思考后成功突破的快感,来自于对问题本质的透彻理解。
正如清华大学的蒙瑞俊(CCSP金奖得主)在分享经验时所说,他在学习算法时,更注重通过“创新方式”去学习,甚至在赛后通过翻阅专业资料(如OI Wiki)去现场学习并思考未通过题目的深层原因 。这种“现学现用”并反思的过程,远比单纯做完三道题收获更大。
三、辨析:批判的是“盲目”,而非“练习”
需要特别澄清的是,批判“题海战术”,绝不是否定练习的价值。事实上,所有竞赛高手都有巨大的练习量作为支撑 。那么,关键的区别在哪里?在于练习的“目的”和“方法”。
低效的题海战术(盲刷):
- 特征:追求数量,重复同质化题目,只求做对不求甚解。
- 结果:形成思维定势,遇到变体题目容易卡壳;耗时耗力,容易产生倦怠。
- 本质:用战术上的勤奋掩盖战略上的懒惰。
高效的深度练习(精刷):
- 特征:追求质量,对经典题目进行一题多解、多题一解的分析,总结规律。
- 结果:构建知识体系,能够将陌生问题归类并转化为已知模型。
- 本质:通过做题来训练思维,完善认知结构。
正如那篇探讨信息学奥赛教学的经典论文所言,真正有效的做法是“教师善下题海”,然后为学生搭建“轻舟” 。这意味着,高质量的练习材料需要经过教师的筛选和分类,按照由简单到复杂的逻辑呈现给学生,让学生在每做一题后都能有新的收获,而不是在原地踏步。
科学的刷题方法也印证了这一点:刷题前要学完必备知识点,制定专题计划,更重要的是——重视独立思考,每道题想不出也要坚持想30分钟,不要轻易看题解 。这“30分钟”的坚持,就是深度思考的黄金时间。如果一个人习惯了做不出就看题解,那么他其实是在训练“看懂答案”的能力,而不是“想出答案”的能力。
四、重构:如何建立“深度思考”的训练体系
那么,对于正在备战信息学奥赛的选手来说,应该如何摆脱题海的束缚,走向深度思考呢?
第一,从“完成任务”转向“解决问题”。
改变做题的心态。拿到一道题,不要想着“我什么时候能把它做完”,而要想“出题人想考察我什么思维”?如果做错了,不要急着去看测试数据,而是先自己复盘,尝试在纸上推导,找到逻辑漏洞。IOI金牌得主顾昱洲和周雨扬虽然强调多做题,但他们做的每一道题都是经过深思熟虑的,而不是囫囵吞枣 。
第二,建立“错题本”与“好题本”。
不仅是记录做错的题,更要记录那些让你眼前一亮思路的题。用思维导图或笔记的方式,将一道题涉及的算法、数据结构和数学推导过程写下来。甚至可以尝试给这道题写一篇“解题报告”,讲给别人听。能讲清楚,才是真的理解。
第三,进行专题式深度学习。
在学完一个算法(如动态规划)后,不要急于去做其他类型的题,而是集中一段时间,找10-20道不同难度、不同变体的动态规划题,集中攻克。在这个过程中,去感受这类问题的共性——状态的设计、转移方程的书写、边界条件的处理。这种“刻意练习”远比分散地做100道杂题有效。
第四,拥抱“一题多解”和“多题一解”。
对于经典难题,可以尝试用不同的算法去解。比如一道图论题,能不能用最短路径解?能不能用最小生成树解?这能帮你打通知识体系,理解不同算法之间的联系。同时,当你做了足够多的题后,要学会归纳:哪些题虽然表面不同,但本质都是同一个模型?这种归纳能力,就是解决竞赛中“陌生难题”的关键。
五、结语
信息学奥赛的魅力,从来不在于你敲代码的速度有多快,也不在于你背下了多少种算法的模板。它真正的魅力在于,当你面对一个从未见过的问题时,你能通过冷静的头脑、严密的逻辑和天马行空的想象力,构建出一个完美的解决方案。
“题海战术”或许能让你在浅水区扑腾得很快,但只有“深度思考”,才能带你潜入深蓝,探索计算机科学真正的奥秘。正如刘海峰教练所言,不要一开始就想着解多难的题,不要与他人比较学习成绩,而是比学习的心态、学习方法 。
下次当你再打开OJ(在线评测系统)准备开始新一天的“刷题”时,不妨问问自己:我今天是要做一个搬运代码的苦力,还是要做一个思考问题的智者?
深度思考,远比浅尝辄止的一万道题更有力量。