第234章 生死時速!爭分奪秒!(4k)

投票推薦 加入書籤 小說報錯

  第234章 生死時速!爭分奪秒!(4k)

  「確實沒試過。」

  許青山笑著說道。

  「不過我剛好比賽之前熱熱身練練手嘛。」

  許青山見梅鴻滿臉鬱悶和不解,寬慰了他一下。

  「梅老師,你想,我之前都沒試過比賽,要等比賽那天去適應,不如今晚就順手練練。」

  「要是我能做得到,那你也更放心對吧?如果我做不到,那其實搭誰都一樣。」

  許青山輕鬆地說道。

  「我看過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新題庫排行榜上所有人的名字都往下移了一位,自己這名字出現在第二行,那種滿滿的成就感也油然而生。

  為什麼不是第一行?

  因為第一行是基本信息:姓名、完成題數、正確題數、答題時長等等。

  今晚要合章!起床收拾好貓貓就開始碼!

  (本章完)

章節目錄