浅谈对信息学学习的认识
浅谈对信息学学习的认识
仅在洛谷和博客园发布
文章状态:基本完工,待修改
阅览
Update
2026.1 对有些部分进行重写
2026.2 优化排版
本文推荐阅读对象:
高中开始入门 OI 且非停课学习竞赛,主要目标:NOIP
前言一
一个金牌选手的信竞攻略 bilibili.com/video/BV1xSYxzDEPg
让笔者深受启发的视频。此视频对信息学考察本质剖析,选手能力提升,如何高效刷题等均有比较独到且精辟的见解,推荐在有空的时候观看,也适合去对着批判性的对比自身情况来反思
前言二
高中入门 OI,在时间上显然略紧,但是高中生通过课内的学习积累,也已经基本具备了较好的逻辑思维,且目标感更强,这也是很宝贵的优势。对于中等程度的提高组难度学习,应对 NOIP,也应有自信的底气
我们都说竞赛学习是很不同于文化课学习的。普遍来说,从知识点本身难度,考察应用的灵活程度基本难于普通的课内题目
同时在学习途径与方式上,对于我们来说,课内:每天有固定的授课,练习,而校信息学课时显然是不够的
可喜的是,信息学的资源相较于其它科目,学习资源极为丰富。网络上的知识点讲解尤其丰富,刷题网站诸如洛谷的题目也足以支撑一个选手练到 NOI 了,上面的 视频 也有资源方面的提及,本文略
本文基于以上客观现实及笔者个人一年竞赛学习经历,针对本校情况,重点探讨信息学竞赛学习的以下方面:
-
知识点
-
能力
-
资源
个人水平有限,仅在课下学习 OI 一年时间,且诸多观点想法均基于对本校刚起步的信息学竞赛训练中的感悟思考和与部分来自竞赛强校的同学的交流反思,欢迎各位大佬讨论补充。
知识点
- 重要性
诚然竞赛很大程度上有赖于思维,但在思考一个题时,如果是知识点类的缺失导致根本想不到那里去的话,而不是因为自己的思维,那是非常可惜的。
知识点是最最最基本的,你学过的算法是否已经至少覆盖到所有常考的,不至于到时候赛时你还得自己创造出某个优秀的算法。
同时,去邂逅更多新的算法,数据结构本身也会让自身眼界打开。在这个过程中去不断学习,理解,接受这些思想,也会逐渐提升自己对信息学的学习兴趣,从而带动自己多方面能力的提升。
- 学习策略
学习知识点也需要结合自身水平(但不要因此畏难),如初等数论中后期的很多知识点可以跳过,依照“最近发展区”思想,先去学你觉得你努努力就可以够得着的,但像较为重要的知识点,需要你自己找方法解决
但大部分情况,实在不行,可以先记模板,后面在不断的练习中,一定会慢慢理解的,至少在每次打这个模板时,你都会有新的认识
所以总的来说:进度优先
要注意最初还是偏向知识点,思维差点,有些处理上的点想不到,是很正常的。这种处理技巧(或者大家经常说的“trick”),是有赖于你的做题量的,想不到并不怎么要紧,不要想着一步登天;但这也是往后需要逐渐培养的能力,也可以多留意一下
但这也不代表你可以不动脑子,不要为了进度而进度,还是这个观点:相对更快的学完知识点是为了后续你成体系的去见更多基于这些知识点的题,从而为后续思维突破,代码能力提升留足时间。
- 能力相关:铺垫
从入门基本算法到提高组,在学习过程中,畏难是很正常的,但事实上,你的水平也在不断提高,所以请相信自己
这个过程时间上会大概持续到高一下,届时你会学完所有常考提高组算法,基本上已经基本覆盖 NOIP 考点。
- 资源相关:自学能力
同时在这个过程中,更重要的需要自身有意识地提高自己的自学能力,模拟比赛,找找状态?AT,CF,而不只是洛谷;某些知识点 OI wiki 上太模糊?B站董晓算法等等,实在不行自己去网上遴选一下好的讲解;对学习顺序或者相关有疑惑?多找找教练交流一下......总之要积极的用起所有可用的资源
主要知识点的参考学习顺序
暂略,推荐深入浅出的编排顺序,初期,较难的 DP,初等数论个人认为可以合理跳过
能力
你是否仍有对 NOIP 2025 的黄紫黑黑心有余悸,但是你是否思考拿某个奖项,真正需要什么水平
我们看 SC 分数线,二等 108,一等 140,三等 86
也就是会黄题就会有二等,综合下去,能稳拿绿题基本也就一等了,毕竟还有部分分的。
所以结合这些数据,首先要树立自信。
在过完知识点,大致了解哪些方面的问题用什么算法思想去解决,那么你就拥有了进行能力上系统训练的底牌。
到底需要具备哪些能力?
- 快速编码
我觉得关于快速编码,在前言一视频中也给出了比较适用的答案。
当然,这可以通过去 VP Div2,Div3 之类的比赛去强化你的能力,力求最快速度秒前2,3题
- 如何思考一个题目
在文化课里面的大部分题目,你基本上能快速出一个题的思路,对比信息学中的模板题也是一样,这是因为你已经对题目的整个流程足够熟悉,是一种记忆化的行为,然而许多难题需要有一个有条理的思维过程。
阅读题目后,应该先留意和挖掘题中的性质。性质是一个题目的突破口。很多时候,性质可以指向这个题目应该使用的算法,引导下一步的思考。例如 NOIP 2025 T1 中的特殊性质,对正解是用贪心算法解决有很关键的提示。另外,数据范围大小也会缩小所用算法范围。
在基于对性质的分析,模拟样例,结合自身已有储备知识,找解决思路过程,不外乎就是对题目潜在性质的进一步挖掘,将题意模型式的简化后,把问题拆解成你熟悉的东西,巧用题目中的性质,设计合适的算法解决。
比较常用的思考技巧有枚举,考虑极端情况,舍弃部分题目约束条件等等。
对于性质,思考技巧上的阐述,想用抽象的阐述去说明白什么有条理的思考过程是不现实的,这里就还是结合 NOIP 2025 T1 这个比较有代表性的题目说明:
首先,对于“糖果奇数次买花 $x_i$ 元,偶数次花 $y_i$”的性质,再结合最终是要最大化购买到的糖果数量,以及 $1 \le n \le 10^5$ 的数据范围,可以猜测是贪心,并且极有可能排序,那我们现在的思考重点就落在对这个性质的利用上,思考怎么样最大化买到的糖果数。
或许此时我们需要留意特殊性质,大不了就拿点部分分 qwq
特殊性质 A:对于所有 $1 \le i \le n$,均有 $x_i = y_i$。
这种情况下,不论取奇数次还是偶数次都没有影响,直接全买 $x_i$ 最小的即可。
似乎没什么用
特殊性质 B:对于所有 $1 \le i \le n$,均有 $x_i \ge y_i$。
意味着每次如果每种只买一次,会不划算,有可能某个时候,买一次后再买一次更划算。那么总体考虑,将 $x_i+y_i$ 整体考虑,是否更加方便。
所以总结性质:
如果要选一个数的 $y_i$,则必须要选 $x_i$,那么一定要选 $min(x_i+y_i)$ 的一组,而选一次 $x_i$ 不受限制
所以问题简化为买 $A$ 个价值 $min(x_i+y_i)$ 和买 $B$ 个价值为 $B$ 的 $x_i$,使得在已有资金内将 $2A+B$ 这个数最大化,贪心解决即可。
以上内容也与目标与展望 & 再谈“攻破难题的过程”一文关于如何思考题目的思想有诸多契合之处 (谁懂啊写到一半发现别人也在写类似的东西还写的更好),比如对性质的观察(解决问题的突破口),“施法”对应本文第一板块中的知识点的掌握(例如数据结构或者很多学过才知道并掌握的技巧)。本文所表述的观点在其它文章中的类似的高频提及也侧面体现出这些方面对解决题目思路的重要性,推荐阅读。
还有就是关于思维深度方面,许多题目是不断推进的过程,觉得乏力时,不妨多用纸笔记录关键思路或灵感,避免思维中的进程崩溃带来的重新思考的时间损耗。
大部分情况,对于基础题目,你想出了不好编码的思路,还是要相信不是因为自己不会去证明它的正确性,而是它确实就是有缺陷,不优的,应该退回到你所观察到的一些关键性质上,再去结合自己做的一些样例去尝试换实现路径
对上述内容总结:多留意题目固有性质,根据性质找突破口,再挖掘实现方法,补足实现细节;当你的预期大思路的潜力已经挖掘完了,这个算法还是达不到预期时间复杂度,可以回到浅一点的性质再重新思考方向;如果是编码困难,也可以回归性质看有没有更优的方法。
$“选择一个思路要谨慎,放弃一个思路也要谨慎。”$
而某些题目就是有一些很巧妙的思想方法或者说技巧,确实比较难第一次遇到就能独立想到,说的就是信息学中许多题目有各种处理技巧(常会被称为 “trick”)。
那么这些也就是前文中提到你在 “DFS” 式的思考中可能会遇到的坎的原因。就不要寄希望于考场的灵光一现了,前期把知识点过完,就是为了后期多去见这些需要很多技巧的题目,毕竟处理技巧也是一种思想。
在不断探析处理技巧的过程中,也会提升自己的意识,不断思考总结,洞察本质,再复盘初次思考时为什么没有想到点上,为后续可能会遇到的这种类似的作思维上储备,便于后续遇到后就可以快速响应,后天也就练成了先天。
但是说在最后,不要因为没有遇见这个技巧,就放弃自身的思考过程。我们在这个阶段的学习,结果恰好应该是其次的,最重要的应是你自身的思考过程,不要在大量的刷题中,忽视了自身的思考过程,哪怕只是一个题中的那么几个点
因此,比较合适的就还是限时思考,在时限内尽可能的思考,模拟赛时紧张状态,之后再比对,复盘时限内思考的思路,再想想看,我为什么会在这个地方卡住,想不到这个点,应该怎么稍加练习,如此才能形成一个正向的循环
资源
先在这里为前文两个部分作结,一个有上进心的选手,TA 不外乎会经历以下的历程:
从跟着学基本知识点
$\Rightarrow$ 自己规划好应该提前学什么知识点,并在这个过程中,通过对做过的题的复盘,揣摩;参加网络线上赛;自主查阅相关资料等,在思维和编码能力上得到初步的提升
$\Rightarrow$ 学完基本知识点,在以上基础上去广泛带着目的去见更多的次级知识点和遇到的处理技巧。在这个过程中,由于难题的不断涌现,难免会有些沉不下心来,但曾经的绊脚石也会随着不断的练习,选手也会逐渐识破并攻克。
途中也会遇到很多比自己优秀了许多的选手,或是强校在役选手,或是初中就成绩颇丰的 OIer,选手的自信心会被不断打破却又不断建立,在自我怀疑和肯定中切换,从有些自卑再到不卑不亢的同优秀的选手请教,并尽可能的与他们建立起属于信息学选手间的友谊
总之,请相信自己
体现在能力上,题感明显上升,无论是上文中所提及到的思路上 “BFS” 还是 “DFS” 的过程中都会显著加速,思考的习惯不仅在信息学,更会随之保留在文化课的学习中,并成为你受益终生的能力
总的来说,资源遴选能力,会随着你自身的发展而发展,下面推荐部分初学适用的常用资源
比较齐全,适合当提纲,不适合初学
- B站 董晓算法
对初学很友好,讲解很详细,体系系统(对 NOIP 已经很够用了),例题很经典,可以跟着练
- 博客园
有很多高质但比较零散的讲解
- AT&CF
ATcoder ABC 每周练手感挺好的,前期快速做 CD,后面腾时间多思考 EF
CodeForce 的比赛时间确实不怎么合适,推荐多虚拟参赛,某大佬就推荐去找时间 VP Educational Contest Div2
模拟赛本身耗时长,挑些高质的
······
后续计划
计划补充:
- 资源—杂项
- 能力—心态
最后引一下一位传奇学长留下,至今挂在机房的横幅上的话来作结本文 (警示后人)
$$如果平时训练没有压力,那么正式考完需要承担原本可以分担在每天的压力$$
posted on 2026-02-03 16:44 Listedzero 阅读(5) 评论(0) 收藏 举报
浙公网安备 33010602011771号