“确实没试过。”
许青山笑着说道。
“不过我刚好比赛之前热热身练练手嘛。”
许青山见梅鸿满脸郁闷和不解,宽慰了他一下。
“梅老师,你想,我之前都没试过比赛,要等比赛那天去适应,不如今晚就顺手练练。”
“要是我能做得到,那你也更放心对吧?如果我做不到,那其实搭谁都一样。”
许青山轻松地说道。
“我看过ICPC的赛程,不也是要一整天从早到晚地比赛解题么,我也算是提前熟悉赛程一下,梅老师,我先走了,现在回去早点弄完早点睡,拜拜。”
梅鸿看着许青山扬长而去的背景欲言又止。
直到许青山在拐角的地方隐去了身影,梅鸿才长叹一声。
他还是觉得这件事不靠谱。
想要在OJ平台上把最新题库的排行榜刷到前八名,那就意味着许青山需要在7个半小时之内完成百道程序设计题。
这根本就不是一个概念的好吗?
要知道。
ACM比赛一般来说总题数也就是8-12题,一般来说是10题,能够答出来6道命题以上就有资格列入排名,比赛用时5小时。
也就是每一题的读题、构思、解题和验证和修改,所提供的是1题30分钟的标准。
而学校的OJ平台上的百题排行榜,之所以会出现第一名的百题7小时12分46秒的数据,是因为这帮逼人根本就不是连续答题的。
比如排名第一的陈方平就好,他的总时长可以换算成432分钟多,平均每题花费时间为4分多钟。
这种恐怖到离谱的答题速度是怎么做到的呢?
首先,陈方平会选择一个比较空闲的周末,排出专门的答题时间,然后,洗澡,开空调,确保自己身处一个最舒适的温度环境,再装一杯温水,坐在电脑前冥想十分钟,在确保最佳状态之后,在脑海中模拟演练各种题型的快速解题思路,然后开始答题。
OJ平台的题库题目分布是有难度系数的。
前40道题属于简单难度,中30道题属于中等难度,后20道题属于困难难度,最后10道题是竞赛难度。
陈方平几乎每答半小时,他就会停止答题,退出网页,继续冥想调整状态。
就像前40题,他几乎是一边看着题目,手里的键盘就敲得飞起,正常来说看完题目的一分钟以内他就能给出准确的简洁答案并且提交。
这必须要有极强的编程功底和实践熟练度。
基本上,这些能够在京大OJ平台上保持前列的高手,前70道题基本上都是2个小时以内就能完成,2小时磕困难题,而剩下的3-4个小时,他们则是会死磕最后10道题。
这也恰好对应了普通的ACM竞赛中的每题20分钟到30分钟的解题标准。
当然,这里的解题只是解出来,不代表不报错或者直接整题错误。
像陈方平,其实在信科院这边已经有人称呼他为OJ大师兄、OJ幻神。
因为OJ平台并不是固定一个排行榜,而是会更新题库,就像是电竞比赛会进入新赛季,选手们可以加入战斗之中,而正常信科院学生提到的OJ排行榜,都是指最新一期题库的排行榜。
但不管OJ题库怎么更新,自从陈方平博二悟道之后,这两年的时间里,他一直都是OJ排行榜第一。
一有新题库出来,他就会第一时间刷个痛快。
并且因为题库讲究难度系数,所以他的时间永远都是7开头,眼看着就快要压榨到7小时以内了。
这种记录是在校生很难突破的。
不过
其实隔壁华清能破7的人并不少。
起码有一掌之数。
尽管两校的OJ题库并不完全相同,但难度系数甚至华清更高一筹,在这种情况下,在速度上还能有这样的差距,足以看出京大和华清在程序设计领域的差距。
许青山回了家里,晚上没有课,今晚江浣溪回寝室去了。
要是一直不住宿舍也不太好。
哪怕江浣溪是个小白给,她也总是会间歇性清醒并且感觉到羞耻的。
“杨树说自己能第一,好像还真不是吹牛啊。”
许青山已经按照梅鸿发给自己的流程登陆了OJ网站平台,在上面看着最新题库的排行榜。
杨树的题目完成数是98题,用时只有6小时11分钟。
如果他最后两题能在1小时内完成,那他确实可以超过陈方平。
可就算如此,许青山也很有信心。
其实他的编程水平要比梅鸿想象的高。
主要是在于之前在鹭岛自学的那阵子,他的掌握速度很快,而超强记忆夯实的基础,碰上他那如今在自己那不断深化的学习开发之后的大脑,灵感迸发的速度超乎想象。
要许青山自己评价的话。
自己刚重生那阵子,脑力水平是1的话,在今年上半年的时候差不多就提升到3了。
到了暑假越是接触前沿,越是深入开发,遇到的难题和思考越多之后。
如今他的脑力水平指数都可以用10来形容。
而且他也察觉到了,这似乎并不是自己成长的极限。
眼下有些超出经验解决范畴的开拓性难题,他想要得到突破,还需要别人的一句无意的提醒,来打破朦朦胧胧的灵感界限。
可若是有一天自己的大脑被自己锻炼到了极致的话,是否很多开拓节点性难题,自己都能迎刃而解,无师自通?
许青山给了自己肯定的答案。
在OJ排行榜上简单看了一会,许青山又找到各个等级的练习题练练手之后,心中有了个底,就准备开始这场极限挑战。
【开始】
【19:27:09】
许青山聚精会神地点下了开始按钮,页面一刷新,他便快速地读取题目信息,双手也在读取的同时,已经开始在答题框中输入代码。
其实做这种OJ题库是有技巧的。
许青山第一时间就已经掌握了这种应试技巧,在简单题和中等题完全适用。
首先就是看题确定关键词,由关键词来瞬间得出指向性类别,随后就能双手动起来,把这段代码的前置框架输入,再一边思考解题过程,一边答题。
这样的话,许青山有把握能把简单题答题时间控制在1分钟之内!
【删除结点】、【链表】、【定值val】
许青山双眼第一时间捕获了关键词。
【typedef struct ListNode List Node;换行;struct】
许青山的双手快出了残影。
而且这种速度的盲打,并没有任何一个字母出错,等许青山看完题目再度复验题目之后,他已经解题完毕,眼睛扫了一遍,20行之内解决问题。
用最简单的while循环语句,双层if,将首个满足的节点作为头节点赋予新的初始节点,再将满足条件的节点串联在初始节点后,完成新的链表。
【提交】
【检验测试】
【检验通过】
绿色的小勾勾亮起的时候,许青山身心舒畅,又瞥了一眼时间。
【19:28:04】
55秒。
这也得亏是电脑刷新速度快,网速也快,自己打字速度更快。
否则起码得1分钟以上。
许青山并没有因为一题的成功而洋洋得意,他没有再关注时间,而是快速地扫荡起OJ题库。
或许是渐入佳境,或许是战斗得酣畅淋漓。
许青山的手越来越快,眼睛动的也越来越快。
时间在一分一秒的流逝。
在OJ网站平台的上方,不断地从左往右移动的节点,代表着许青山的答题进度。
到目前为止,67题,全绿!全对!
耗时1小时33分钟36秒!
京大的OJ平台为了更好地统计学生成绩,在每一个节点都有对应的时间点,在点进具体题目之后会显示。
此时许青山还在快速答题中,如果他点开自己的难度变化节点就会发现。
前40道简单题,许青山的答题速度来到了惊人的38分钟。
真正做到了平均每题1分钟的速度。
要是搜索引擎,有时候1分钟都不一定能找得准确原题在哪呢。
而中等难度的题目,许青山也以题均2分钟的速度快速推进着。
虽然正常来说,简单难度和中等难度的题目最为优化简洁的答案应该都在10—30行左右的代码,而输入一行短代码的速度,对于一个熟练的顶级程序员来说,快则2秒,慢则5秒。
这就代表着,许青山已经坚持了一个半小时的常人全力状态。
其实也不应该说是常人。
能到这种程度的程序员,去哪都是顶级大佬。
好在,到了困难题的时候。
所需代码行数并没有一次性增加太多,更多的是对编程思维的考验,所以许青山的手得以休息一会,由大脑继续带队。
正常的高手,困难20题,题均用时会在7分钟以上。
能够在华清京大闻名的高手,或许能冲刺突破5分钟。
但许青山却只用了4分钟。
众所周知,许青山的脑袋要比肉体更强。
限制了他在前面简单题和中等题速度的解题速度的,不是他的脑力,而是他的手速。
越到后面,才越是许青山纵情发挥的时刻。
20题困难题,难度类别都有区别,也开始出现了频繁长代码和多行数答案。
许青山没能每题都控制在4分钟左右,最后20道题的总时间花了1小时35分钟57秒。
截至目前为止,许青山只剩下最后10道竞赛级别难题。
而他却只花了3小时9分33秒!
这种速度,很是惊人。
就算是目前华清大学OJ平台新题库排行榜上,同样是百题,同样的难度分布,华清的第一名也需要用6小时24分45秒的时间来完成百题解答,并且全对。
如果许青山不只是想超越京大第一,而是想超越华清第一的话。
那每道竞赛级别难题花费20分钟,是不够的。
简单换算,华清第一是23085秒,许青山剩余可用时间为11712秒。
他必须要把题均时长控制在19分31秒之内!
分秒必争!
而且如果只是这么小的差距,许青山也很难昂首挺胸地说自己比华清第一更强。
因为华清的题库相对于京大来说,难度又更高一点点。
哪怕难度系数上浮只有0.01,那拉不开时长的话,许青山也只会觉得自己输了。
没有松懈,许青山只是暂停喝了一口水,去厕所解决了一下生理需求,就立马回到电脑前。
【22:38:25】
许青山也就休息了1分多种,又立马开始投入战斗。
【问题1:大数乘法。】
【问题描述:编程实现位数不超过300位的任意大的两个整数相乘。】
许青山双眼飞动,但这次却没有贸然动手写代码,而是眼神不断闪烁,片刻之后,双手在键盘上再度翻飞。
这题相对来说在竞赛题中算难度较小,思路清晰,开干!
【22:54:47】
【检验通过】
下一题!
许青山已经完全进入了那种极度兴奋的心流状态。
前面的90道题就像是给他用来预热的热身赛。
此时才是真正的挑战。
只不过。
这些在普通的计算机学生眼里都会让人很是头疼的竞赛题,此时在许青山的眼里却显得是那么轻松。
他的双手像是弹钢琴一样敲着键盘。
而且弹的还是《野蜂飞舞》、《克罗地亚狂想曲》这种节奏的曲目。
【23:10:54】
【23:29:04】
【01:41:32】
【检验成功】
【全部完成】
【总用时:06:14:23,正确率:100%,OJ排行榜排名:1】
“啪!”
随着许青山最后一个回车键落下。
手里临时买来用的双飞燕键盘的回车键竟然陷了进去,卡住了。
“这键盘不会就这么坏了吧?”
许青山有点纳闷。
自己刚刚敲键盘的速度是快了点,特别是大回车键不知道敲了几次,但是这双飞燕不是出了名的耐操吗?
伸手扣了扣,才把回车键扣了出来,还能用。
许青山松了一口气。
生死时速的紧张感还不如自己担心键盘坏了呢。
可松弛下来之后,许青山再看着自己眼前京大OJ新题库排行榜上所有人的名字都往下移了一位,自己这名字出现在第二行,那种满满的成就感也油然而生。
为什么不是第一行?
因为第一行是基本信息:姓名、完成题数、正确题数、答题时长等等。
今晚要合章!起床收拾好猫猫就开始码!