【回忆录】到信息学一游
【回忆录】到信息学一游
序章 夜来幽梦忽还乡
现在是2025年7月份的一个晚上,是大二的暑假,大学生活已然过半,我终于通过一个自己参照教程的方式配置好了属于自己的博客,兴致满满。在添加友情链接的时候,我想起了我在初三的时候就已经了解到的学长 和 ,于是找到他们的博客。在他们的博客中,其中置顶的就是他们的回忆录,也就是参加信息学竞赛的整个高中的心路历程,让我不由自主想起了自己的信息学竞赛的生活,有感而发,于是我也准备写一个自己的回忆录。如果说沙子写字,风轻轻一吹就能吹散,纸上面写字,稍微的烈火焚烧就能让踪迹悄然而逝,也许,写在网上,这份记忆才不会消失,成为一种永生的纪念(大概是有区块链?)。
那时的生活,说累也累,说苦也苦,但是不知为什么,我总是不由自主回忆起高中、初中的生活,回忆起那段信息学竞赛的日子,这大概是我人生中最特殊的经历之一。我不知道它对我的生活产生了多少的影响,然而它的确是不可缺少的。
第一章 阿克琉斯的脚跟
我并不类似于 和 学长一样,是从高中开始学的信息学竞赛,我开始学信息学竞赛是在初一的时候。那个时候的我刚从小学升上来,小学执行的是素质教育,因此每周都会有社团活动时间,我对计算机有兴趣,便参加了计算机相关社团,学习了许多计算机的基础知识,比如word、ppt、Excel、VB以及Scratch的使用,算是对编程有了初步的了解。其实我一开始并不打算学习信息学竞赛,而是想学VB,做着自己喜欢的程序,做出一些好玩的东西,用来取悦自己。然而,当时的电脑并不支持我去这么做。想要安装VB完整版本的我在10年代的电脑上根本没有什么操作空间,只有一步一卡的漫长等待。而六年级的暑假我又是在没有网络的老家度过,感受这淳朴的乡土情怀,只能玩着MC度日。比较有意思的是,在没有网络的日子里,我靠着局域网联机,竟然在游戏中搭建出一个不小的天地,后来我又通过命令方块建造了一个可以自由传送的城镇,也许编程的思想来自于那里。后来升上了初中,开始了第一次摸底测试,在全校学生中拿到了前五十名,于是乎不知道为何发了6000元作为奖励,至此,我的信息学奥赛之路似乎被开启了。
当时的电脑不行,我的家长于是就用这6000元给我买了一台台式机,这台台式机在现在看来配置不可谓不低,而且现在已经用起来很卡顿,但是对于当时的我来说,已经是一台非常流畅的机器了。拿到电脑了之后,我安装了VB完整版本,准备左手参考书,右手鼠标,两只手一起打键盘的时候,家长拿着两本厚厚的书出现了。
这两本书就是至今也脍炙人口的《信息学奥赛一本通》和《信息学奥赛一本通习题》,相信大多数自己入门,或者弱校起步的同学,竞赛启航的第一站便是这里。两本书放在了我的桌面上,家长跟我说,编程不仅仅可以使用VB编程,也可以使用C++对程序进行编写,相对于VB,C++在应用面上更广。而且,现在有信息学奥赛,省一就能获得不小的高考优惠,因此学这个竞赛也许是有好处的。小小的我有着大大的梦,像所有小朋友一样,年少时候的梦想很多都是当科学家,而当上首屈一指的科学家,就必须要考上清华大学、北京大学这两所中国的TOP2,小学时候成绩还算优异的我理所当然也有着这样的梦想。
因为初中是一所寄宿学校,在学校并没有机会接触电脑,所以追求的只有那文化课的好成绩,每到周末的时候,我一回家就会快速写完作业,然后开始那信息学竞赛的进程。因为是自主学习,而且每周都会有遗忘的时候,在初一上学期我便重复在那顺序分支循环等逻辑结构中循环。我当然也知道每周过去都会忘记一些东西,所以我每周也反复练习,渴求达到熟练。
然而初一上的期末,因为考试题目过于简单,自己马虎过多,考出了一个自己在高中时候也不怎么见过的排名。那是我第一次考出这么差的名次,然而当时的班主任倒是非常友善,”偶尔考不好无所谓的,找清楚原因”。在初中的第一个学期,我含着泪离开了学校,这时候信息学也一再耽搁,仅仅止步于顺序分支循环了。
在寒假的时候,也许是临近过年了,气氛逐渐喜庆起来,我也将期末考试的悲伤抛之脑后,在电脑上开始了新一轮的信息学竞赛练习。父母非常看好我,我从小便喜欢计算机,在小学获得了大大小小的有关计算机的各种奖项。特别有印象的是全国中小学生计算机表演赛,如果没记错的话,小学课文里那篇启发我计算机重要性的文章的事件也是同一个事件。邓主席说过:“计算机的普及要从娃娃抓起”。在这寒假中,我便去认真学习循环,一维数组,二维数组等,直到达到熟练为止。
时间恍然而过,白驹过隙一般寒假已经过去,这个时候意想不到的事情发生了:我们进行了重新分班!从素质教育的小学升上初中的我并不明白这样的含义,也觉得这样非常残酷。为什么我们这些学生就不能和一开始认识的同学安安稳稳共同陪伴三年呢,为什么非要把各个成绩好的学生集中在一起,而不是分开各领风骚呢。我第一次经历分班,我并不理解。但是我所做的,我能做的只有接受,那天晚上,原先的班主任跟我的父母电话打了好久,我却处在一种不自觉的震撼之中,没有情绪波动,内心仍然认为下个学期的周边还是那群同学,而我会在熟悉的环境中启程我的新的一个学期。
终于开学了,我来到了新的班级,尽管非常想念原来的同学和老师,但这也是我无可奈何的事情。我来到了初中最好的班级,这里高手如云,每个人似乎都跟自己一样厉害,甚至还有不少人比自己厉害的多。在原先的班级中待惯了,现在就会感受到不小的落差。幸亏在班级中又认识了不少新朋友,让我怀古的心情好了许多。为了不丢原先班级的脸,我基本上努力学习,本想着能够保持中正的排名,但是意料之外,第一次考了一个非常好的成绩,是我初中的最好成绩,年级14名,和我的好朋友 的成绩仅差0.5分,这是我第一次分数接近他,也是最后一次,从此之后我就再也没有考过他,我也非常钦佩他的努力。在这个学期中,对于信息学我是疏于练习的,现在想来原因可能是当时刚分入一个新的班级,心情还没有调整过来,我一心投入到文化课上,也正是因此,这个学期我文化课基本没有掉过队。
在这个学期除了 是我认识的成为好朋友的同学,另外一个一直深刻影响我直到大一的同学也正是跟我同一个班级,为了个人隐私,这里我暂且把她叫做 小姐。当时我的身高在班上的身高并不能算高,于是在有排队的情况下,我排到了 小姐的旁边,排队走路时,有时她谈论着周末父母做小龙虾吃的快乐,有时她诉说着原来班级班主任的好。我想,原来我们都差不多,都是从一个普通班通过成绩考上来,而最终被分到这个班级,我们都念着原先的班级,不可谓不是身在曹营心在汉。我跟她总是去和自己原先的班主任聊天,一来一去也是多次偶遇,就这样熟悉了起来。
当然,一个学期又很快的过去了,这个暑假我先是前往了美国游学,参观了各种美国著名的景点,了解了美国的学校然然,然而我觉得其实大城市美国都跟中国差不多,而中小城市更是中国好一些,主要是因为我觉得美国的网络太差了。回来之后,我暑假面临着我即将要参加的第一次正经的联赛即 。
然而我已经一个学期没有怎么碰过信息学了,那个时候的我因为要参加这样的可以对考大学有好处的比赛而奋发昂扬,重新拿起了微微落了一层灰的《信息学奥赛一本通》,对着电脑敲打起来。不管是分支,还是顺序,还是循环,我都逐渐重新熟悉起来,甚至到当时还在的一个题目网站刷题打榜单(这个OJ似乎现在已经消失了),我剩下的暑假便花费在这个上面。
初二上学期以一种及其戏剧的形式来到了我的眼前,又是在放假的最后一天,我们被通知了又一次分班,这次是自招班。众所周知,襄阳四中五中为了防止每年华师一从襄阳的中小学掐走大量的尖子生,便在华师一的招生考试前面举办了自主招生考试,这一批240个同学可以不用中考直接进入四中五中,招生一般是每年的四月份,也就是说,可以比同一届的同学早4-5个月进入高中,省去那繁琐的重复的无所意义的中考备考,而是直接学习高中课程,并有在学习高中知识的基础上学习竞赛的资格。我侥幸进入了自招班,同时来到自招班的当然有 , 小姐也不遑多让,更令我兴奋的是我原先在初一上还在一起的两位室友 和 也是进入了自招班。
在初一下的时候,曾有一位疑似喜欢我的女生,每次遇见的时候都会给我打招呼,然而我并无感觉,每次她跟我说话的时候到最后都会加一句喜欢我,毕竟是第一次在对话中被女生直言喜欢,我也是非常害羞,再一个我当时是一个书呆子,提纲掣林得来说,我因为道德与法治课本七年级下册的课程,知道了“青春期的心理萌动是正常的现象,并不是真正的喜欢,而是一种错觉”。我一直坚持这个原则到快到中考的时候。
初二上学期的返校是在一个下午,我们的语文老师没有更换,而其他老师却换了个便,我早早地准备好学习用品和生活用品,从家中出发,来到了新的寝室,整理好床上用品我便前往教室。
作为初二学生,我们换了一个教学楼,我走下宿舍楼,穿过操场,来到了教学楼的楼下,就在我准备上楼的时候,有人突然从我的后方出现,从后面拍了我一下,我一向对外界不是很关注,所以我一回头,听到一阵清澈的声音,一阵沁人心脾的化妆品香气冲进了我的鼻子,定睛一看,原来是 小姐,她化妆化得不够成熟,甚至有些过度,然而我不知道为什么她看起来这么好看,我发愣着,思绪在我的脑中打转,思考着种种,但是找不到正确答案的出口。
一句话结束了我的思考。
「这个学期,我们又分到了一个班啊!」
她笑着说着。
我也前言不搭后语的回着。
「是啊,不知道这次的老师怎么样呢」
那我们一起去教室吧。这句话当然没有说出来。但是我们保持着似近非近的距离,一起走到了四层的教室,那是我们八年级共同的班级,八十二班。
第二章 埋下种子的因果
再次的分班让我的不适减少了许多,因为是把各个班成绩好的同学都分到一起组建自招班,我初一下班上的大部分同学自然而然地跟我进入了同一个班级,让我有些欣慰,而又多了两个同学,也就是 和 ,让我的初二生活充满了更多期待。
和 小姐,走上楼梯,一进入教室,因为老师还没有正式排座位,于是来得早的我们就坐在了教室的前排,也就是最好听课、最好学习的地方。我坐在进门第一排的中间位置,而 小姐就坐在我的左边。
收拾了一会儿自己的暑假作业等等,把书包里的东西整理到了桌子内部,一切都井然有条了,人也舒坦了起来。这个时候 进入了教室,和他半年没有在同一个班级上的我急忙把他招呼到我的右边坐下,和他开始了闲聊时刻,叙叙旧,并展望着未来。 也随之进入了教室,三人小团体便很快形成了。左边的 小姐也也没有参与进话题,随后我就抛之脑后了。
初二的班主任,我暂且称为 老师,她走进了教室,在所有人都到齐了之后,为我们开了一次小小的开学班会,大概是有关暑假的过去,以前的班级和未来的目标云云,同学们也是认真听着,想象着自己在班级里大放异彩的样子,我也摩拳擦掌,想象着自己通过自招之后可以提前学习信息学竞赛,完成每个 的梦想——夺得 金牌,进入集训队,保送清华北大!
当然,在寄宿制学校,为学习 所能做的只有平日里好好学习,放假的时候进行短期的培训,从而获得奖项的途径。随着 的一天天逼近,我在国庆的时候前往了武汉进行集训,是在一个不知名的小机构,名叫深学汇,老师是一个因为获得联赛一等奖而从河北保送到武汉大学计算机学院的人。我们在那里进行了七天的集训,通过这个集训,我看到了很多之前没有学过的东西,对于初二的我是一种莫大的震撼。在这里,我了解到并查集,dfs,bfs,动态规划等等这些我从来都还没有听说过的东西,而在最后一次的模拟测试中,我也完全答对了几道题目,信心立马就上来了。在最后,吃着武汉的火锅,看着华科的光谷体育馆,我坐着家里的车离开了武汉,回到了初中学校继续上课。
通过这次集训,我对信息学更加感兴趣了,与之而来的是对自己的自信过度,这将会在很久以后得到体现。
回到了初中,时间照常流动着,我依旧按照学校认真学习文化课,放假努力学习信息学的劲头进行着每日的安排,这个时候突如其来的月考再一次打断了我的思绪。在组成自招班之后的第一次月考,我考出了继初一上期末考试的第二差成绩。我原本以为那是我最后一次会考那么差,然而第二次还是发生了。因为班级只有40多人,这个名次显然会在每个学期的分班中对我的去留产生影响。已经和熟悉的同学待了那么久了,我不想分开!自己安慰着自己,控制着情绪不去消极,然而成绩单发下来张贴在教室前面的时候,我的内心还是咯噔了一下。这个我的名次从熟悉的中上方看不到了,名字跑到了成绩单下面去,几个一百多名次的黑字在白色的纸张下显得更加突兀。
这个时候一个同学走过我的旁边,似乎是一个认识我但是我不熟悉的同学,看着成绩单。
「xx,你不是很厉害吗,这次怎么没考好?」
同学的疑问更是把我的内心压到了地底下。我好想逃离这个地方,我暂时不想出现在这个教室,我不想在上课的时候听老师讲卷子,我不想,我不想,我不想!
「xx他只是发挥失误了,偶尔没考好罢了,马有失蹄,人有失手罢了。」
这个时候, 小姐不知道为什么出现在了成绩单旁边。
「没事,下次加油吧!」
她说着这句话对我笑了一下,不知为什么,我似乎不再那么想要逃离这个教室,我的心跳似乎加快了几拍,感觉到有些害羞,转向自己的座位,头也不会地小声说了句谢谢,回到了座位上。内心的天气也从万里乌云变成了万里无云,或许我真的要加油了,为了还跟她一个班级,不对,是为了最终考过自主招生,提前进入四中五中,通过信息学完成自己的梦想,逐梦清北,名震鄂西北!
此后,神奇般的,在初中,我就没有再考过这么差的成绩。
第三章 守株待兔第一撞
不过该来的还是要来的,随着日期的临近,我在襄阳五中大成楼比完了 普及组的初赛,并顺利进入了复赛。当年的复赛是和 等一众学长一起进行的,不过那个时候我还不认识他们。我坐上了前往武汉的火车,因为是第一次参加这样的奥林匹克信息学联赛,所以我还是非常兴奋的。在火车上,虽然心理上很紧张,但是第一次参赛还是故作镇定,仿佛自己已经胸有成竹,优势在握。经过一个多小时的高铁和四十多分钟的地铁,我们也许到达了光谷站,但是一下车,看到的不是现在的光谷大转盘等云云,而是一个又一个工程栅栏遮遮掩掩着,似乎在进行着非常宏大的工程。走过一道道沟壑纵横的路,我们终于走到了先前预定的酒店,也是襄阳五中的信息学教练 老师带学生来比赛常来的酒店。不过走出铁栅栏之后,我才看到,墙上写着工工整整的几个大字“奋发向上,迎接2019武汉军运会!”,那时的我,还有没有意识到这个事情将会是我从初中到高中人生的转折点,也是一个百年未有之大变局。
来到酒店,我和家长住一个房间,由于是比赛的前一天,所以我拿出了笔记本电脑,打开了一些考前注意以及考前必掌握知识点的贴子看了起来,特别注意的是深学汇的老师在集训时候特别强调的要会写文件的输入输出,这样才能在这个 赛制中成功测评,并拿到自己应有的分数,在复习完这些之后,我拿起了《信息学奥赛一本通》,以求新的突破,从而应对可能会出现的题型。就这样,我翻到了这样一道题目开始做。
给你
k
枚相同的鸡蛋,并可以使用一栋从第1
层到第n
层共有n
层楼的建筑。已知存在楼层
f
,满足0 <= f <= n
,任何从 高于f
的楼层落下的鸡蛋都会碎,从f
楼层或比它低的楼层落下的鸡蛋都不会破。每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层
x
扔下(满足1 <= x <= n
)。如果鸡蛋碎了,你就不能再次使用它。如果某枚鸡蛋扔下后没有摔碎,则可以在之后的操作中 重复使用 这枚鸡蛋。请你计算并返回要确定
f
确切的值 的 最小操作次数 是多少?
现在来看,这道题目就是一个典型的使用二分加上动态规划的算法,但是对于当时的我而言怎么也看不明白,只能强行对着代码进行理解,祈求得到一丝慰藉,然而,我没有继续看下去,把这道题目抛之脑后,去吃饭了。
除了高中的学长学姐,与我一起同行的还有一个跟我同年级的初中生,她也是学习信息学竞赛的,这里暂且叫她 同学。 同学和她家长也随着 老师的带领前来,住进了酒店,现在也是吃饭时间了。论资历来讲,她似乎比我早参加一年比赛,在 也取得了不错的成绩,不过还是吃饭比较重要。下楼吃饭,是一个吃小碗菜的餐厅,吃的多少全凭你拿了多少,也并不会像那种专门的炒菜一样很贵,我大抵当时吃了一些鸡蛋羹,虽然记忆已经模糊,但是当时第一次吃这种小碗菜的新奇感觉还回荡在我的记忆中,虽然我现在不喜欢吃小碗菜了就是说。吃完饭之后,我便回到了酒店,看了几道题目和注意事项,以及对拍的方法之后我就去睡觉了,长夜虽漫漫,仍然不如第二天早上的闹钟来得快。
第二天早上,为了准时参加比赛,我早早地起了床,前往了湖北省信息学联赛复赛的指定比赛地点的华中科技大学,走进南大门,迎面而来的是太阳照的雪亮的毛主席像,一只手举起来,面向着前面的一条大道,似乎正在招手迎接着更加美好的未来,明天会更好。
往前走有一个大条幅,上面写着这次比赛的名称,内心也逐渐激动起来。首先在名单上找到自己的名字和机房,然后背着包走上楼,找到自己坐的位置。其实在前一天, 老师已经带我们来看过机房了,这里的环境跟我想象中的大学很相似,一排排的电脑坐着一排排的人,在激烈地打着代码,有一个似乎是保送华科的学长来到了旁边,和老师欢快的聊着,也许到时候我如果能保送的话,我是不是也会像他们那样呢。想着想着,回到现实,我坐在比赛的赛场上,老师走进来,开始公布密码,我有条不紊的按照老师说的密码一个一个输入。
好!顺利解压!
打开文件之后,点开pdf,开始读题!
认真读题,第一题是标题统计,是一个很基础的题目,直接秒了,不过要注意一下输入输出的问题。好的
第二题是龙虎斗,似乎是一个模拟的题目,只需要考一考模拟,那就模拟一通吧。
第三题是摆渡车,似乎有点动态规划的感觉,但是我当时又没有把动态规划学会,那就继续模拟一通吧。
到第四道题目,我才是完全不会了,因为当时集训和我自己学到的内容都还没有到树的时候,那没办法了,只能去找一找特殊性质,看看能不能特判掉算了。
最后,随着暴力的进行,不会的题目的性质分析中,四个小时结束了,这也意味着 结束了。出考场的时候,我自认为我所做的题目都做了出来,暴力也都打满了,嗯这样就满意了吧。在一层往外看,武汉的天空下着哗啦啦的大雨,最终坐上了地铁二号线,走进前往汉口的车,最终回到了襄阳,因为第二天还要继续上学,那初中生活。
细说这次比赛,我大概率是准备不充分的,不仅仅是因为初一下基本什么都没有学,还因为自己对一些有关信息学的问题不求甚解,只是关注于某道题目的解法而没有达到举一反三的效果。更重要的是,我开始意识到,信息学并非像我想象的那么简单,前面到底有多少艰难与困苦呢,我不知道,我也不想知道,我只知道我参加这个比赛似乎就能在高考中取得什么加分优势,或者是一条实现我的梦想的捷径。我向来是那种喜欢耍小聪明的人,除非有必要,否则我不会去费劲心力去搞一个自己或许没有那么感兴趣的东西,到底是因为困难导致了我的困扰呢,还是困扰造就了我的困难,一切都不太明朗,赛后等待成绩的一个多月总算是过去了,到了揭榜的时候。
奇迹般的,我的暴力能打满的都打满了,不会写的也稍微混了点分数。最终我获得了一个不高也不低的分数,也是成功拿到了普及组的一等奖。这是必然呢,还是偶然呢,不管怎么样,这一次获奖给当时的我了一针强心剂,也许我是有天赋的,也许我能成功拿到那个万众瞩目的金牌。也就是这第一次获奖,让后面的我继续学习信息学竞赛,也正是这一次获奖,让我学信息学竞赛学到了最后的时刻。
第四章 无才扶我凌云志
获得了普及组一等奖,按理来说并非非常困难,但是我却有些小小的自得酝酿在心中。然而,回到第一次月考的打击仍然在后续呈现缓慢恢复的状态,当然,没有再考过那么差了,考得越来越好了,但是仍然不足以留在这个班级。 老师的特点是考试之后换座位,然后换座位的原则是按照每次月考排名分数的先后顺序选座位,然后再按照一个月为周期的轮换制来让所有的组都有坐在前面和坐在后面的机会。第三次月考结束后,一扫第一次月考的不景气,我,终于也要往前一点选座位了。选座位靠前的总是那些成绩比较好的同学,他们稳稳地排在前面,丝毫不动摇,当然也包括 小姐,时常出现在年级前十的位置。位置一个个被选走,就像是用于缓冲的泡沫的泡泡一个一个被捏破,剩下的座位就像是不好捏的了,我考得中间,这个时候前面的座位就已经所剩无几了,于是我看到了 小姐后方还有两个位置。这两个位置,我到底选不选!我想选,这样的话或许能和她的座位近一点,但我不知道为什么想跟她的座位近一点,等到我反应过来的时候我已经把我自己的名字写在她名字的右下方了,为什么是右下方呢,我想可能是害羞吧。当座位开始调动的时候,我左边的同学应该是 同学,如果是这样的话,我不知道当时用什么说服了他跟我换位置,但最终的结果是我换到了 小姐座位的后方,倒数第一排的位置。这样的日子也许给我每日的生活带来了一点新奇,我初中的时候英语很好,时常背诵前列背完,因为她成绩好,她是组长,组长需要听组员背书,因此我每次都迅速背完,然后在她面前兴奋得背书,或许我背的书是她听我当面说的最多的话。不过她每次都要听背书的时候似乎总有些不耐烦,也许是她自己也需要在有限的时间内背下来,为了节省时间的目的吧。时间过得很快,凛冽的冬日随着太阳直射点的南移更加寒冷,我们校内举办了元旦联欢晚会,这也意味着,新的一年到来了。我们班级的节目是一段暗光舞,人身上贴着的亮条可以控制亮灭,然后把环境的灯全部关掉的话,就可以通过控制亮灭的方式实现类似于人形瞬移的效果。我们班级另外一个节目是有关校园的小品,我的好朋友 和 也参与了小品的表演,让现场的观众们难以忘怀,初中的校长也点名表扬这个节目。在节目表演期间,常有排练的时候,这个时候同学们一般有自习,我突发奇想,想到自己的校园卡里面还有一些买零食的钱,而我想请 小姐吃零食,我就把校园卡给她说,你要不要一些零食呢?我可以请你哦!然而最后她并没有要,把卡还给了我,不知为何,我突发的奇想不禁让我感到失落。
在元旦晚会之后,很快就面临着期末考试了,对于这次期末考试,我很认真的复习,但是因为题目有些简单,大家的分数都差不多,区区几分就可以相差很多名次。而我与众不同的是,我在这次考试的英语中拿到了樊城区那套卷子唯二的满分,不知道是不是因为题目太难了,其他人的分数都考得不是很高,然而一向都考得很好的 小姐似乎考得不太好,于是我想着,想用她安慰我的方式安慰她,但是当我想说话的时候,不知道什么噎住了我的喉咙,让我说不出一个字,她和我之间,只有令人窒息的沉默。期末考试结束,紧紧张张担心着分班被分走,此时此刻,我们的年级主任 老师为我们下了一颗定心丸,这个学期不分班,也就意味着下个学期会分班。但是我管不了那么多了,期末考试的结束意味着寒假的到来,意味着我即将开始下一段信息学奥赛的集训。
2019年的北京没有雪,有的只是那瑟瑟的寒风,太阳如医院的冷光灯一样照在头上,令人做涕。这个寒假,来到的集训地点是清北学堂,而培训地点是位于北京的华北电力大学计算机房间。我因为是普及组1等奖,因此家长为我选择的是普及升提高的训练营,当时刚入营的我还想着自己一定可以全部学会,大杀四方,然而我错了。在当时的培训中,老师讲知识点的速度非常快,让我来不及听,只有初中数学基础的我根本听不明白。往上是最近公共祖先LCA的倍增做法和Tarjan做法,往下是中国剩余定理赖以生存的基础最小公约数,虽然有少数听得懂,但是大部分听不懂已然似乎是定局了,第四天和最后一天的模拟比赛便说明了这一点。也许最后,我获得的知识只是我不会和我要学以及那里的饭很难吃等云云了。
至今记忆深刻的只剩下当时休息时候玩国际象棋,看西游记续篇以及当时模拟赛的时候做的一道题目了。
题目如下:
排队的小鸟
题目背景
有 n 位小鸟曾在排队,可是她们走散了。
每个小鸟有一个编号,她们想要恢复原先的队列,可是她们几乎忘了她们之前站在哪里了,甚至忘了自己的编号!
小鸟们并不聪明,但是她们还记得前面的小鸟和后面的小鸟的编号,如果前面或后面没有小鸟了,她们会记录一个 0。
请你帮助小鸟们重新把队伍排起来吧!
输入格式
第一行一个正整数 N。
接下来 N 行,每行 2 个整数,表示某一位小鸟前面的小鸟和后面的小鸟的编号。
输出格式
一行 N 个数,是小鸟的编号,表示小鸟的排列。
说明/提示
对于 30%的数据, 1 ≤n≤ 10。
对于 50%的数据, 1 ≤n≤ 100。
对于 100%的数据, 1 ≤n≤ 2 × 10e5。
小鸟的编号保证不重复,在 int 范围之内。
当时的我还不太会打 的语法,但是这道题目我当时着实是没有做不出来,现在来看,只要使用链表的方式就可以把所有小鸟的排序排出来,从而获得满分的成绩了。而我旁边的一个同学倒是实打实做出来了。从这里,我看到了差距,旁边的同学我似乎已经记不住他的名字了,但是我知道他是一个东北的同学,因为他的初中是四年制。后面的几道题目看了看回顾,也总归是动态规划的做法和线段树的做法,然而虽然现在看起来简单,当时的我确做不出来。
这次培训给我带来的最大收获是什么呢,我不太知道,但是我看到了很多我没有见过的算法,我看到了很多厉害的人,我也见识到了我的知识是多么的浅薄。虽然侥幸得了普及组一等奖,但也只是因为在湖北这个弱省的结果,如果是在浙江之类的强省呢?或许不知道结果,但是这个成绩确确实实给了我一种自己有机会的假象,让我不断努力下去,但是这个东西也确实看天赋,仅仅是努力是没有作用的,也许一直干下去并非一种好的结果。那么,抱着这样的信念,我该继续下去吗?
拿着手上的笔记本电脑,是父母因为我获得了普及组一等奖给我买的,也许我应该坚持下去,但是就我的实力而言,我是否能够追寻到那个所有 的梦想呢?时间容不得我继续想,我能做的只有前进,无论前面到底是一片黑暗还是一片光明,我或许都该燃烧着内心的火焰英勇向前吧。过完了寒假,父母联系到了一位老师,是北京的老师,他比较熟悉北京的信息学竞赛,而且北京的教育资源当然比襄阳更好一些,于是我就每个周末和一个浙江的同学开始和他一起学习信息学了。
对方听说了我获得过普及组的一等奖,因此先入为主认为我有一定的水准,其实湖北省的一等奖是有点水的,仅仅是做对了一道题目的多一点就拿到了一等奖。周末开始学习信息学,老师一开始就开始讲DP的专题,DP即动态规划,无后效性,对于当时的我来说,我不怎么听得明白,但是我也是看着题目一点点做,对于0/1背包、多重背包等简单问题当然是能够信手拈来,熟能生巧,但是越到后面越是困难。比如,为什么0/1背包可以把二维的状态压缩成一维的啊,因为数组更新的先后可以不需要一些数据,让空间利用率更高,但是如此简单的理论对于当时的我来说就是想不出来为什么。再比如环形DP等等,到底是把环直接拆成双倍长度的链呢,还是直接取余呢,两种做法也迟迟没有弄清楚,只弄了个模棱两可,把例题做对了,再往后我就知其然而不知其所以然了。
初二下当然是一个比较好的学期,没有发生什么比较重大的事情,成绩也比较稳定,破除了初二上的定律,物理数学之类的学科也学得越来越好。然而正是因为寄宿制学校,信息学学的东西倒是常常遗忘,又因为每个月一次要进行的月考,信息学便常常耽搁。我也不知道几月几日,在今天的一次函数和明天的不等式中徘徊,我也不知道为什么要这样,只知道学着学着也许就会有美好的将来。在大众的赛道上越走越远,在小众的独木桥上踽踽独行,到底哪个才能更快的到罗马?