全國青少年資訊學奧林匹克聯賽暫時停辦
除了保送名校,競賽生還得到了什麼
8月16日,中國電腦學會突然發佈通知,宣佈NOIP競賽暫停。
NOIP全稱為全國青少年資訊學奧林匹克聯賽,分為普及組和提高組兩個組別。競賽暫停,打亂了很多人的備戰節奏。但業界普遍認為,競賽並不會就此取消,更有可能的是改名再來。
其實,NOIP是很多人接觸演算法競賽的開始。到了大學,這些人的大部分仍會繼續自己的競賽之路,在ACM國際大學生程式設計競賽(簡稱ACM-ICPC)的賽場上繼續拼搏。
那些屬於競賽的日子,仍是他們青春歲月中濃墨重彩的一筆。
“不做題會覺得有些空虛”
ACM-ICPC是全球最具影響力的大學生程式設計競賽。在ACM-ICPC中叱吒風雲的選手,大多也曾在NOIP和NOI(全國青少年資訊學奧林匹克競賽)中摸爬滾打。和演算法題交手過招,是這些“電腦大神”生活的一部分。
初高中時搞競賽,當然也存有功利心,想拿競賽成績作為名校的敲門磚;但熱愛,同樣也是他們堅持的動力之一。
到了大學,還在競賽的坑底躺平,每個人的原因各有不同。北京師範大學資訊科學與技術學院研究生孫科心中有遺憾——高中時在弱省弱校,沒機會學到什麼東西,在NOI中發揮不佳。憑藉資訊學奧賽保送北京大學的2016級本科生吉如一也有遺憾——高中沒有入選國家隊為國出征。“到了大學就還想繼續比賽。而且高中搞了兩年競賽之後,有些放不下了,不做題就覺得空虛。”
競賽生們一進大學,就對寫代碼駕輕就熟。其他電腦專業新生需要把大量時間花在學習和練習寫代碼上,但競賽生們能拿這些時間來做些別的事情。比如,繼續打比賽。
“用自己學過的演算法知識、編程技巧等等去解決一道道題目,可能需要冥思苦想,也可能會做錯,但最終解成功時會覺得十分有成就感,這就是演算法競賽最大的魅力。”孫科説。
ACM-ICPC分為區域賽和世界總決賽,團隊要在規定的5個小時內完成主辦方給出的題目,題目通常為8—13道。和高中時的資訊學奧賽不同,ACM-ICPC的題會出得更加包羅萬象。“比賽沒有超綱的知識。它不僅考編程、演算法、數據結構,還可能考到編譯原理、電腦組成原理等,涵蓋大部分電腦專業課知識點。”孫科説。
ACM-ICPC決賽:重壓之下的高手過招
在吉如一看來,如果高中時競賽基礎較好,在區域賽中拿到獎牌並不難。他也很清楚,從實用角度來講,在區域賽中拿牌就已經足夠;再往後參加世界總決賽,邊際效益其實會縮水。“世界決賽競爭激烈,拼命訓練才能拿牌。”
吉如一記得,2018年決賽前的半個月,他和隊友幾乎將所有的課餘時間都花在了訓練上。如果沒有課,他們就在機房裏從早泡到晚。
但對賽場的渴望會戰勝理性的投入産出比分析,競賽選手終究還是熱血難涼,想代表學校、代表國家,和來自世界各地的參賽選手一較高下。
“能跟世界範圍內的大神們同場競技,這件事情本身就已經非常酷炫了,體驗大概就是激動的心、顫抖的手,就像奧運會一樣。”去年也曾代表北京師範大學參賽的孫科説。
2018年ACM-ICPC決賽就在北京大學邱德拔體育館進行,這也是吉如一第二次參加總決賽。當時,有來自51個國家和地區的140個團隊同場競技。“壓力非常大。”現在回憶起來,吉如一脫口而出的,仍是壓力。主場作戰,既是優勢,也讓隊員背負了沉甸甸的期待。
題目會以紙質形式發到參賽隊員手上。他們最先要做的事就是讀題,判斷題目的難易程度,制定解題策略。由於三個人只有一台電腦,所以一個人上機操作時,其他兩個人就要抓緊時間思考其他題目的解法。
計算成績時,隊伍的解題數量最為重要,其次是解題耗時。ACM-ICPC的題目結果都是當場揭曉,如果提交一次錯誤答案,就會被罰時20分鐘。
比賽機制很有意思,簡直像是故意在給選手壓力——前4個小時,大家能在現場螢幕上看到所有隊伍的做題情況和實時排名,最後一個小時“封榜”,大家只能知道自己隊伍的成績。
這種透明性也是對參賽選手心理素質的極大考驗。前4個小時,你是領先還是落後,抬頭瞥一眼大螢幕就能看到。每個隊伍的名次都隨著比賽時間的推移上躥下跳,根本沒誰能吃下什麼定心丸。
是的,非常緊張刺激。ACM-ICPC也儘量在這種緊張中創造了些趣味出來——隊伍每做出一道題,就會得到一個對應顏色的氣球。而且,如果你是第一支攻克下某道題的隊伍,還會得到一串非常不一樣的氣球。
吉如一記得,決賽當天,3個人的狀態都不太好。一開始就是逆風局,做得很不順,最差的時候,比排名前列的隊伍落後了整整三道題。“寫代碼時手都在抖。” 到了後半程,隊伍才逐漸趕超上來。
最終,北大拿到了第三名,獲得金牌。
“很高興,也有些失落。就這麼結束了。” 根據ACM的規定,同一名選手只能參加兩次世界總決賽。所以,大二的吉如一,也就此退役,當了學校ACM-ICPC隊伍的學生教練。
競賽之路,成就與遺憾並存
當然,吉如一面前的路仍然很廣。作為競賽大神,工作可能是他最不需要擔心的事情。
孫科和吉如一也都參加過形形色色的其他比賽。説實話,現在的演算法編程大賽,實在是不要太多。谷歌、臉書、美團、字節跳動、百度……眾多網際網路公司都在辦比賽,每一次比賽,在吉如一看來,都是一次競賽人的“大型線下聚會”。
楊博洋曾經也是一名演算法競賽選手,參加過NOIP,也參加過ACM-ICPC。現在,他所在的電腦教育公司計蒜客,也在辦自己的比賽“計蒜之道”。
楊博洋告訴科技日報記者,實際上,辦比賽的目的之一,還是“聚人”。把那些年輕的有才氣的青年學子召集過來,搭建一個他們和企業溝通的橋梁。企業給學生額外面試機會或者入職綠色通道,提前物色或者鎖定他們的心儀人選。
不過,在這麼多比賽中,ACM-ICPC仍然有其獨特的含金量。楊博洋自己就是一個例子,比賽經歷是他簡歷中的加分項。而他在招人時,也會更加青睞競賽生。“ACM-ICPC是三人組隊,就更能體現出學生的綜合素質。”它不僅考驗代碼能力,也考驗選手的團隊協作能力、溝通能力和抗壓能力。“這些都是軟體和演算法工程師需要具備的特質。”而且,楊博洋覺得,願意投身競賽,意味著他們對行業有熱愛,這樣的人,也更容易在行業中做出成績。
因為競賽,吉如一學了很多知識,還認識了很多人。競賽是個小圈子,選手之間彼此熟悉。“這是一筆寶貴的財富”。
不過,他已經開始將精力更多地轉向科研。吉如一是競賽圈的大神,但當他從賽場走下進入科研實驗室時,也會恍然發現,身邊的同學已經在其他方向上走了好遠。“投入精力搞競賽確實讓我放棄了一些可能性,但我不會後悔。”雖然仍會感到焦慮,但吉如一也在調整心態,要去往另一條賽道上奔跑了——他已確定要在北大繼續攻讀博士研究生。
“演算法知識,編程能力,與人溝通的能力……最重要的還是競賽的這種獨特經歷。”孫科一一細數競賽帶給自己的收穫,“回憶裏有遺憾,也有成就。我覺得沒有失去什麼,人不可能每條路都走一遍。”