关于信息学奥赛的一些想法
模拟赛
以赛代练固然是一种挺不错的学习方式,但是我感觉一味的训练而不进行一些更深层的教学是不可取的。
举个例子:在平时做作业的时候,我们通常会拿出一定的时间来思考一些有难度的题目。这对于我们的学习帮助其实挺大的——这样才是有效的思考。而考试的时候,时间非常有限,如果拿出时间来研究一些不打打准能不能得分的题目,就是“没有策略”。信息学奥赛也是一样,我们在一次一次模拟赛的时候,看似是在思考问题,但是实际上我们不敢对一个难题花太多的时间,不然就有保龄的风险。
因此,我们需要深入的思考,而不是一次一次的模拟赛。切记,模拟赛不完全属于“深度思考”。
刷大模拟
大模拟没人愿意碰,但是有些人找虐就是想写。其实,我认为我们没必要把时间过多的放在这种没什么思维含量的地方上面。在可以预见的未来,敲代码将会变成一个 AI 的任务,因为它没有任何思维含量——准确来说,这个工作就是一门翻译,把人话翻译成 C++ 或者 Python。
大力 DS
有不少人都有过这种经历:一个题目,自己写了两个线段树、一个平衡树再加上个什么神秘 DS,最后死活调不出来,结果一问同学,发现其实根本用不到这些东西。
个人认为,没必要花太大的力气去死磕 DS。当然也不是说不学,遇到题目还是要有思路的。但是,死磕 DS 带来的结果就是我们会想尽一切办法把所有见到的问题都放到我们两只手就能数过来的数据结构里面。这是一种思维的固化,会导致我们没有新颖的思路。
题解刷黑题
老实说,我也经常看题解刷一些难题……(我没说我直接复制的代码啊喂)
其实,解决一个问题就像是走迷宫,你失败的时候总比成功的时候多。我们没必要记住“正确的路是哪一条”,因为换一个题就换了一条路。真正有意义的,是“发现一条新路”和判断“这条路会不会撞墙”的能力。同时,还有一次次失败而不气馁的能力。而这些在题解里是没有的,就算是一些题解写出了作者的心路历程,但毕竟没有人能代替你自己走一遍。
所以,做题要靠自己,尽量不要看题解!
比通过量
呃,我这么说可能有点没有说服力,毕竟我的刷题量太少了……
不过我们经常能看到两个人互相咬着对方的刷题量,能精确到个位数,然后每天以比谁刷题多为乐(是谁谁心里清楚),我认为这是不太可取的。
一方面,题与题之间是有区别的。同机房的 ZYN 就成天为了刷题量而经常交一大堆红题。事实上这样没多少用,我们的能力根本不会因此提升,相反这浪费了我们的大好时光。
熬夜刷题
这事真的不好。没有充足的睡眠,也就没有好成绩,还会影响健康。