第5章

书名:我在清华证猜想  |  作者:一只绿豆蛙  |  更新:2026-05-09
信息学奥赛的入场券------------------------------------------,手指微微发颤。。这是全国最具权威的中学生计算机竞赛,分为普及组(初中)和提高组(高中)。获得提高组省级一等奖,就有机会保送大学,甚至直接签约名校。即使不保送,这个奖项在自主招生中也是重量级**。,这是编程比赛。而编程,是林墨前世吃了二十年的饭。“周老师,”林墨尽量让声音平稳,“这本书...我能借回去看看吗?”,头也不抬:“行啊,登记一下。不过这是竞赛书,你看得懂吗?试试看。”林墨说。,他把书和报名表小心地放进书包。心跳依然很快,但不是紧张,是兴奋。,但大学时没参加过这种竞赛,工作后偶尔听说,只觉得是“别人家孩子”的事。但现在,机会就在眼前。,回到教室。下午第一节是物理课,但林墨有点心不在焉。他悄悄在课桌下翻开那本奥赛书。:基础算法。枚举、模拟、排序、二分查找...:数据结构。数组、链表、栈、队列、树...:动态规划。:图论。...题目大多是NOIP历年真题,难度从普及组到提高组。林墨快速浏览,心里有了底。,对高中生来说可能很难,但对他这个有二十年编程经验、参与过大型系统开发的前技术总监来说,很多题目一眼就能看出解法。有些题甚至能想到多种解法,比较时空复杂度。
这不是降维打击是什么?
但他没有掉以轻心。竞赛编程和工程编程有区别:竞赛注重算法效率,要求在限定时间、空间内解决问题;工程更注重可维护性、扩展性、团队协作。而且,他需要熟悉竞赛环境和规则,熟悉那些“套路”。
“林墨,”物理老师点名,“你来回答一下,这道题选什么?”
林墨抬头,看到黑板上的题目,是电磁感应的选择题。他扫了一眼:“选C,根据楞次定律...”
“正确。上课认真听讲,别开小差。”老师看了他一眼,没多说。
下课后,刘浩凑过来:“墨哥,你看什么呢这么入神?”瞥见书封,“信息学奥赛?你要参加这个?”
“有这个想法。”
“我靠,这玩意儿可难了,听说全江城每年能拿省一的不到十个。”刘浩咋舌,“不过你要是参加,说不定有戏。你现在可是学神。”
“试试看,不试怎么知道。”
“什么时候比赛?”
“初赛十月底,复赛十一月。”林墨看了眼报名表,“得先通过学校报名,还要有指导老师。”
“咱们学校有计算机老师吗?”
“有,但...”林墨想了想。江城一中是重点高中,有计算机课,但计算机老师主要教办公软件和基础编程,对竞赛不一定在行。而且学校不太重视这个,资源都倾斜在数理化奥赛上。
前世,他记得江城一中好像有学生参加过信息学奥赛,但最好成绩也就是省二,没掀起什么水花。
但这一世,他要改变这个。
放学后,林墨去了计算机教研组办公室。敲门,里面传来声音:“请进。”
办公室里只有一个三十多岁的男老师,戴着眼镜,正在电脑前打字。林墨记得他,姓吴,教高二计算机。
“吴老师好,我是高三(7)班的林墨。”
吴老师抬头,推了推眼镜:“林墨?哦,就是这次月考年级第一的那个?有事吗?”
“老师,我想报名参加信息学奥赛,需要学校推荐和指导老师。”林墨开门见山,把报名表和那本书放在桌上。
吴老师拿起报名表看了看,又看看林墨:“你想参加NOIP?以前学过编程吗?”
“自学过一些。”
“学到什么程度?”
“C语言基础,数据结构,一些简单算法。”
吴老师有些惊讶:“高三了,时间这么紧,还学这些?而且信息学奥赛难度很大,咱们学校这几年最好的成绩也就是省二,还是高二学生拿的。高三学生参加,太费时间,可能影响高考。”
“老师,我查了过去几年的录取情况,如果能拿到省一,有保送机会。即使不保送,在自主招生里也很有优势。”林墨说得很认真,“而且我保证不会影响正常学习,这次月考我考了724分,我有信心兼顾。”
吴老师看着他,沉吟片刻:“你真有这个把握?不是一时兴起?”
“不是。我暑假就系统复习了,也自学了编程。如果您同意做我的指导老师,我可以先做一套真题,您看看水平。”
“行,”吴老师也是个爽快人,“我这儿有去年NOIP提高组的真题,你现在做做看。能做出三道题以上,我就同意。”
他从抽屉里翻出一份卷子,又打开一台电脑:“用这台,环境是Free Pascal,不过你用C也行,我帮你装个Dev-C++。”
“谢谢老师。”
林墨坐下,打开试卷。2004年NOIP提高组,共六道题,满分600分,时间3.5小时。他快速浏览题目:
第一题,简单模拟,送分题。
第二题,动态规划,中等。
第三题,图论,最短路径变形。
**题,搜索,剪枝优化。
第五题,数据结构,线段树。
第六题,数学+高精度,压轴题。
以他现在的水平,前四题应该没问题,第五题可能需要点时间,第六题...高精度计算比较麻烦,但思路清晰。
他没急着写代码,先在草稿纸上梳理思路,写伪代码,考虑边界情况。这是前世的职业习惯——先设计,再编码。
吴老师在一旁看着,眼里有赞许。很多学生一上来就噼里啪啦敲代码,结果漏洞百出。这个林墨,很沉稳。
半小时后,林墨开始编码。键盘是老旧的**燕,手感一般,但他敲得很快,几乎没有停顿。指尖在键盘上飞舞,代码一行行出现在屏幕上。
第一题,二十分钟完成,编译通过,测试了几个样例,正确。
第二题,半小时。动态规划状态转移方程他想了两种写法,选了更优的那种。
第三题,图论。他用了Dijkstra算法的变种,四十分钟。
做到**题时,时间过去两小时。吴老师中间接了电话,又批了几份作业,但不时看向林墨。这个学生的表现,超出他的预期——思路清晰,代码规范,调试能力强。而且,他明显不是生手,对编程环境、调试工具都很熟悉。
**题是搜索题,数据规模大,需要剪枝。林墨写了深度优先搜索,加了几条剪枝策略:可行性剪枝、最优性剪枝、记忆化。测试,小数据通过,大数据超时。
他想了想,换了迭代加深搜索,又优化了剪枝条件。这次,通过了。
四题做完,时间还有一小时。林墨看了看第五题,线段树。这题难度大,但他前世实现过很多次。不过时间有限,他决定写个简化版——能用,但可能不是最优解。
又过了四十分钟,第五题完成,通过了样例。
第六题,高精度计算+数学。林墨看了看,这题需要实现大整数运算,还要用数论知识优化。时间不够了,而且实现起来很繁琐。他放弃了,在答题文件里写了思路和部分代码。
“老师,我做完了。”林墨保存文件,站起来。
吴老师一直在看,此刻眼里是毫不掩饰的惊讶:“你...以前专门训练过?”
“自学的,也看过一些书。”
吴老师走到电脑前,运行林墨的程序,用官方测试数据测试。前四题全部通过,第五题得了80%的分,第六题0分但思路正确。
“总分...估计在450左右。”吴老师计算了一下,“去年省一线是350分,你这分数,进省队都***。”
林墨松了口气:“那老师,您同意做我的指导老师了?”
“同意!”吴老师很兴奋,“咱们学校好几年没出过信息学竞赛的好苗子了。你这水平,好好准备,冲省一没问题,甚至可能冲进省队,参加全国赛。”
“谢谢老师。”
“报名表给我,我帮你填,找学校盖章。另外,我给你开个条,以后你可以随时来机房练习,晚上、周末都行。我这儿还有一些资料和真题,你都拿去。”
吴老师很热情,翻箱倒柜找出一摞资料:历年NOIP真题、培训讲义、算法书,甚至还有几本英文原版书。
“这些书挺贵的,您...”林墨有些不好意思。
“没事,反正放在这儿也是落灰。你能用上,就是它们的价值。”吴老师拍拍他肩膀,“好好准备,给咱们学校争光!”
“我一定努力。”
抱着厚厚一摞资料走出计算机办公室,天色已经暗了。校园里亮起路灯,三三两两的学生走向食堂或宿舍。
林墨心里充满力量。信息学奥赛,这是他计划中的重要一环。如果能拿到省一甚至更高奖项,不仅对保送有帮助,更重要的是,这是他展示“编程能力”的正式平台,为后续的许多计划铺路。
回到教室,晚自习已经开始。林墨把资料放好,开始做作业。但心里还在想着竞赛的事。
“林墨,”旁边的苏晚晴小声叫他,递过来一张纸条。
纸条上写着:“听说你要参加信息学奥赛?加油!”
林墨转头,看到苏晚晴对他笑了笑,做了个加油的手势。他也笑了笑,在纸条背面写:“谢谢。你参加什么竞赛吗?”
纸条传回来:“数**赛,物理竞赛。一起加油。”
“一起加油。”
简单的对话,但林墨心里暖暖的。这一世,他们可以并肩作战,而不是像前世那样,他只能仰望她的背影。
****,林墨没有马上回宿舍。他去了图书馆,周老师已经下班了,但给他留了钥匙——这是勤工俭学学生的**,可以在规定时间使用图书馆。
他打开电脑,登录了一个刚申请的**号。这个号是他专门用来“搞事”的,名字很普通,资料空白。
他搜索了几个群:编程爱好者、NOIP竞赛交流、算法学习...2005年的**群还不像后来那么泛滥,但已经有一些技术交流群。
他申请加入,问题很简单:“NOIP的全称是什么?”答案:全国青少年信息学奥林匹克联赛。
加入成功。群里人不多,几十个,大多是在校学生,也有几个看起来像老师或从业者。聊天记录里在讨论一道算法题。
林墨潜水看了一会儿,大概了解了这个群体的水平。有些人是真高手,有些人是***,但氛围不错,愿意分享。
他想了想,在群里发了一条消息:“新人报到。求推荐NOIP提高组的备考资料。”
很快有人回复:
“欢迎。看刘汝佳的《算法竞赛入门经典》,经典教材。”
“还有《数据结构与算法分析》,C语言描述那本。”
“历年真题最重要,多刷题。”
“楼主哪个学校的?今年也参赛?”
林墨回复:“江城一中,高三,第一次参赛。”
“高三才第一次?有点晚啊,不过加油。”
“江城一中?我记得去年好像有个省二?”
“对,是个高二的。楼主加油,说不定今年能突破。”
正聊着,一个私聊窗口弹出来。ID叫“编程人生”,头像是个**程序员。
“同学你好,看到你说你是江城一中的,我也在江城,二中的。今年也参加NOIP,可以交流一下吗?”
林墨点开资料,显示16岁,高二。他回复:“可以。你是第一次参加?”
“第二次了,去年参加了普及组,拿了省二。今年想冲提高组省一。你呢?以前学过编程吗?”
“自学过一些。”
“那挺厉害的。我有个小群,都是江城准备NOIP的学生,你要不要加进来?大家一起刷题,讨论。”
“好。”
“编程人生”发来群号。林墨申请加入,很快通过。群里十几个人,来自江城各个中学,还有两个外省的。群公告写着:每周六晚八点集体刷题,周日讨论。
这正合林墨意。他需要了解同龄竞赛选手的水平,也需要一个交流环境。虽然他有碾压性的经验优势,但闭门造车不可取。
“欢迎新人!”群里有人打招呼。
“新人爆照!”
“爆什么照,爆代码!”
林墨发了个笑脸:“大家好,我是江城一中的林墨,高三,第一次参加NOIP,请多指教。”
“高三才第一次?有勇气!”
“一中的?我知道你们学校去年有个省二,叫王睿,高二的。你认识吗?”
“不认识,我刚决定参加。”
“没事,一起努力。这周刷题内容是动态规划,题单我发群文件了,周六晚上一起做,做完讨论。”
“好。”
林墨下载了题单,十道动态规划题目,难度从简单到难。他粗略看了看,前七道对他来说很简单,后三道需要想想,但也不难。
他决定周六晚上参加集体刷题。这不仅是为了学习,也是为了观察,为了...寻找机会。
关了电脑,图书馆要闭馆了。林墨收拾东西离开,走在回宿舍的路上,脑海里在规划接下来的时间。
每天的时间要重新分配:早晨跑步、背单词不变;白天上课要认真听,虽然很多内容他会,但可能有些细节和高考重点需要关注;午休,一小时图书馆工作,半小时给刘浩补数学,半小时自己学习或休息;下午放学后,两小时图书馆工作,然后晚饭;晚自习,完成作业和复习;****,两小时编程练习或竞赛准备;十一点前睡觉。
周末:周六上午学习,下午修手机(如果有活),晚上刷题;周日上午家教,下午自由安排(查资料、规划、休息),晚上整理总结。
很满,但他撑得住。十七岁的身体,有无限的精力。而且他知道,现在辛苦一点,是为了不让未来的自己后悔。
回到宿舍,刘浩正在唉声叹气地做数学题。
“墨哥,你回来了。这道题我做了半小时了,还是不会...”刘浩把卷子递过来。
林墨看了一眼,是函数与导数综合题,中等难度。他拉过椅子坐下:“来,我给你讲。首先,看到这种题,先分析题目在问什么...”
耐心讲了二十分钟,刘浩终于懂了,高兴地拍大腿:“原来是这样!墨哥你讲得比老师还清楚!”
“懂了就多做几道类似的,巩固一下。”林墨说,“对了,周末可能有两部手机要修,同学直接拿到我家。你跟他们说好时间。”
“没问题。墨哥,你现在又是年级第一,又要参加竞赛,还要打工,不累吗?”
“累,但值得。”林墨说,“耗子,你想过未来要做什么吗?”
刘浩一愣,挠挠头:“未来?考个大学呗,找个工作,娶媳妇生孩子...还能干啥?”
“有没有想过,也许我们可以做点不一样的事?”
“什么不一样的事?”
“比如,创业,做自己的事业,而不是给别人打工。”
刘浩瞪大眼:“创业?咱们?学生?创什么业?”
“现在还不确定,但机会总会有的。”林墨拍拍他肩膀,“先把学习搞好,多学点东西,机会来了才能抓住。”
“墨哥,我发现你说话越来越像大人了...”刘浩嘀咕。
林墨笑笑,没解释。他本来就是大人,只不过装在了十七岁的身体里。
洗漱,**。宿舍十点半熄灯,但林墨没马上睡。他打着手电筒,在看吴老师给的那些资料。
2005年的NOIP,还使用Pascal和C语言,比赛环境是DOS或Windows命令行。题目偏向算法,对数学要求高。这些对他来说都不是问题。
他重点看历年试题的分析和趋势。吴老师在资料上做了很多笔记,哪些是常考题型,哪些是近年热点,哪些容易出错...很详细。
看到十一点,林墨准时睡觉。这是他给自己定的规矩:绝不熬夜。健康是第一位的,他不能再重蹈覆辙。
黑暗中,他听着室友的鼾声,想着今天发生的事。
月考第一,修手机赚到第一桶金,图书馆勤工俭学,家教开始,信息学奥赛报名成功,加入竞赛交流群...
一切都在按计划推进,甚至比计划更快。
但林墨没有沾沾自喜。他知道,这只是开始,真正的挑战还在后面。竞赛、高考、赚钱、改变家庭、布局未来...每一步都不容易。
但他有信心。因为他有三十八年的经验,有未来二十年的信息,有重来一次的决心。
还有,这一世,他不再孤单。他有刘浩这样的朋友,有吴老师这样的引路人,有竞赛群里志同道合的伙伴,还有...苏晚晴。
想到苏晚晴,林墨心里一暖。这一世,他要和她并肩前行,而不是被她甩在身后。
想着想着,他睡着了。梦里没有医院,没有消毒水,没有疼痛。只有阳光、教室、键盘敲击声,和那个扎着马尾回头对他笑的女孩。
夜还长,但黎明总会到来。
而对于重生归来的林墨来说,他的黎明,已经到来。
阅读下一章(解锁全文)
点击即可畅读完整版全部内容
Baidu
map