麻省理工學(xué)院 | 問與答:麻省理工學(xué)院的競爭程序員如何堅(jiān)持到底
指南者留學(xué)
2022-11-16 12:58:09
閱讀量:1195
<p> </p>
<p><img src="https://info.compassedu.hk/sucai/content/1668574744902/1668574744902.png" width="808" height="568" /></p>
<p>當(dāng)你想到計(jì)算機(jī)程序員時(shí),你可能會(huì)想到一個(gè)孤獨(dú)的程序員,坐在小隔間里,沐浴在閃爍的光線中。但你應(yīng)該想象一個(gè)團(tuán)隊(duì)——在麻省理工學(xué)院的例子中,一個(gè)歡樂、勝利的團(tuán)隊(duì),由競爭激烈的學(xué)生程序員組成,致力于比競爭對手更快、更準(zhǔn)確地解決難以置信的棘手問題。該團(tuán)隊(duì)最近在國際大學(xué)編程大賽(ICPC)的北美錦標(biāo)賽中排名第一,這意味著他們現(xiàn)在有資格參加明年的第46屆年度ICPC世界總決賽。</p>
<p> </p>
<p>在這里,團(tuán)隊(duì)的三位成員——計(jì)算機(jī)科學(xué)和工程大三學(xué)生鐘子倩和鄧明陽,以及數(shù)學(xué)和計(jì)算機(jī)科學(xué)和工程大四學(xué)生Anton Trygub——描述了在頂級計(jì)算機(jī)領(lǐng)域的競爭是什么樣子的。</p>
<p> </p>
<p>問:我們的許多讀者可能從未見過編程比賽。告訴我們一些基本的規(guī)則:你面臨什么樣的問題,你有多少時(shí)間準(zhǔn)備或解決它們,以及你被允許使用的工具。</p>
<p> </p>
<p>鐘:我們通常要在5個(gè)小時(shí)內(nèi)處理10到15個(gè)問題。您可以使用Java、Kotlin、Python和C/ c++進(jìn)行編碼。大多數(shù)團(tuán)隊(duì),包括我們,更喜歡使用c++,因?yàn)樗浅:啙崳ǔ_\(yùn)行得更快。</p>
<p> </p>
<p>鄧:在ACM-ICPC比賽中,一個(gè)團(tuán)隊(duì)由三個(gè)成員組成,而只有一臺計(jì)算機(jī)可用,所以平均每個(gè)成員只有三分之一的計(jì)算機(jī)訪問權(quán)限。此外,編程競賽中的問題通常需要實(shí)現(xiàn)有效的算法和數(shù)據(jù)結(jié)構(gòu),所以我們通常在編碼之前花大量時(shí)間思考解決方案。</p>
<p> </p>
<p>問:你通常了解你的競爭對手嗎,或者在對方球隊(duì)有朋友嗎?編程比賽中有垃圾話嗎?換句話說,社會(huì)氛圍怎么樣?</p>
<p> </p>
<p>鐘:我之前就認(rèn)識一些競爭對手,整個(gè)社會(huì)氛圍都很冷很友好。我們一起玩撲克和各種各樣的紙牌游戲;最后我學(xué)會(huì)了兩種新的紙牌游戲!我想在這里講垃圾話不太受歡迎。</p>
<p> </p>
<p>鄧:我同意。我和許多競爭對手交朋友,他們都很好。這里的人們有著共同的興趣和相似的背景。感覺就像一個(gè)社區(qū)。所以沒有必要在比賽之外競爭。</p>
<p> </p>
<p>Trygub:競技性編程不同于其他競技性活動(dòng),因?yàn)槟悴粫?huì)像在足球、國際象棋等游戲中那樣直接與某人競爭。你只需要盡你所能做好,這樣團(tuán)隊(duì)之間就不會(huì)緊張。在更高的層次上,競爭對手彼此了解,因?yàn)槲覀兌ㄆ趨⒓酉嗤谋荣悺N覀冊谶@里結(jié)交朋友,幫助ICPC社區(qū)發(fā)展!</p>
<p> </p>
<p>問:在你看來,是什么讓一個(gè)問題特別難解決?在北美錦標(biāo)賽中,哪個(gè)問題是最難解決的?</p>
<p> </p>
<p>鐘:為了解決一個(gè)問題,我們思考和編碼。有些問題很難編碼,因?yàn)橛泻芏嗷靵y的細(xì)節(jié)和案例很難正確處理。對于其他一些問題,很難找到正確的解決方案。就我個(gè)人而言,我討厭前一類問題(這又不是打字比賽!),而后一類問題更受歡迎。H問題可能是最難的一個(gè),我們是唯一解決它的團(tuán)隊(duì)。</p>
<p> </p>
<p>Trygub:這個(gè)問題可能因?yàn)椴煌脑蚨兊美щy:它可能只是繁重的執(zhí)行而很少思考,或者需要一些知識,如果沒有這些知識,你可能會(huì)放棄,或者有很多混亂的細(xì)節(jié)。我更喜歡那些困難在于思考部分的問題,一些創(chuàng)造性的問題。閱讀問題陳述并感受“這怎么可能解決呢?”</p>
<p> </p>
<p>問:告訴我一個(gè)你覺得特別有創(chuàng)意的解決方案,或者一個(gè)你引以為豪的解決方案。</p>
<p> </p>
<p>鄧:我覺得安東對H問題的解決方案和子茜對D問題的解決方案都很有創(chuàng)意。</p>
<p> </p>
<p>Trygub:我不認(rèn)為我的解決方案有什么特別的創(chuàng)造性,但是H問題解決起來很有趣。設(shè)置是,“這怎么可能被解決?,然后你開始觀察一些情況,注意到一些觀察結(jié)果,它們突然加起來就是完整的解決方案。</p>
<p> </p>
<p>鐘:D題的細(xì)節(jié)我不記得了,但我記得這是一個(gè)相當(dāng)簡單的問題,需要一些計(jì)算技巧!</p>
<p> </p>
<p>問:你將如何為明年的世界決賽做準(zhǔn)備?</p>
<p> </p>
<p>鐘:我想我們會(huì)一起多做一些訓(xùn)練比賽。沒有什么秘方。主要就是多練習(xí)。</p>
<p> </p>
<p>鄧:我們會(huì)多練習(xí),在練習(xí)的過程中我們會(huì)完善我們的策略。</p>
<p> </p>
<p>特里古布:在這一點(diǎn)上,我們必須多聽教練的話!不過主要是練習(xí)。</p>
<p> </p>
<p>問:在過去的幾年里,來自中國、俄羅斯和波蘭的隊(duì)伍在世界決賽中占據(jù)了特別的優(yōu)勢。為什么呢?從你的角度看,是不是不同的國家有不同的備戰(zhàn)和比賽方式?</p>
<p> </p>
<p>鐘:我覺得俄羅斯和波蘭的很多球隊(duì)訓(xùn)練都很刻苦,他們的策略也很好。我聽說來自莫斯科國立大學(xué)的紅小熊貓團(tuán)隊(duì)喜歡從難的問題開始,把一些容易的問題留到最后一小時(shí)。這并不是最優(yōu)的,懲罰(你花在解決所有問題上的時(shí)間越長,懲罰就越大),但它可能更好地利用了最后一個(gè)小時(shí)(最后一個(gè)小時(shí)通常是非常有壓力的,很難把事情做好)。這和我們通常追求的很不一樣。</p>
<p>特里古布:我不認(rèn)為我們應(yīng)該在這里談?wù)撃撤N趨勢,來自那些國家的選手碰巧非常強(qiáng)大,幾次進(jìn)入了世界決賽。我希望我們能在決賽中帶來一點(diǎn)北美的優(yōu)勢!</p>
<p> </p>
<p>問:作為一名程序員,能告訴我像這樣的比賽教會(huì)了你什么嗎?</p>
<p> </p>
<p>鐘:我認(rèn)為這有助于我更快更準(zhǔn)確地編碼。在競賽中,一旦出現(xiàn)問題,你就沒有太多時(shí)間去調(diào)試。</p>
<p> </p>
<p>Trygub:它幫助我尋找最有效的方法來實(shí)現(xiàn)某些東西,同時(shí)保持它的整潔,否則我會(huì)死于調(diào)試。</p>
<p> </p>
<p>鄧:這也提高了我的協(xié)作能力。在這樣的比賽中,你必須與你的隊(duì)友溝通,清楚地表達(dá)你的想法,團(tuán)隊(duì)合作,相互信任。</p>
<p> </p>
<blockquote>
<p>注:本文由院校官方新聞直譯,僅供參考,不代表指南者留學(xué)態(tài)度觀點(diǎn)。</p>
</blockquote>