Topcoder是一個知名的在線編程大賽平臺,是在線算法學(xué)術(shù)活動的始祖,引入了顏色,Challenge,Virtual Participation,Room等概念,由Jack Hughes在2001年4月創(chuàng)立,后被Appirio和Wipro相繼收購。
Topcoder起初為大學(xué)學(xué)生舉辦SRM(每場時長1.5小時的算法學(xué)術(shù)活動),后來在逐漸的發(fā)展下,平臺在Topcoder挑戰(zhàn)的基礎(chǔ)上開始舉辦TCO(Topcoder公開賽)。
Topcoder(https://www.topcoder.com/)是一個程序設(shè)計比賽的網(wǎng)站,題型和比賽形式跟ACM/ICPC極不相同,在每一次Topcoder挑戰(zhàn)結(jié)束之后,所有參賽者可以自由訪問優(yōu)勝者的代碼并以此來進行比對,對自己的編程能力進行提升。
該網(wǎng)站把中國納入其賽區(qū),大家可以上去那里跟來自全世界的程序員(事實上大多數(shù)也是大學(xué)生)進行更直接的交流,是ACM/ICPC練兵的陣地之一。
該平臺也是全球最大的軟件研發(fā)眾包學(xué)術(shù)活動類平臺。平臺上,每個項目的周期平均在1到2周,所有人都可免費注冊參加。參賽者在規(guī)定時間里提交解決方案,最終獲勝者會獲得發(fā)包方事先設(shè)定的獎金。
每位注冊者的個人信息是公開的,在參賽前可以點擊該場學(xué)術(shù)活動,查閱已經(jīng)參加這次學(xué)術(shù)活動的對手的個人信息(包括獲勝次數(shù)、技能等)。
一場TopCoder的比賽是75分鐘 Coding Phase 做題,5分鐘 Intermission 間歇,15分鐘Challenge,就和Codeforces的Hack差不多。75分鐘中共有三道題目,較為典型的分?jǐn)?shù)分布是250-500-1000,沒有部分分。
隨著時間的流逝,分?jǐn)?shù)會逐漸縮水。需要特別注意的是,TopCoder的分?jǐn)?shù)并非是按照AC時間計算的,而是按照從你打開題目到提交代碼的時間計算的。
1、登陸注冊
Topcoder的會員注冊沒有門檻,在填寫相關(guān)個人信息之后即可成為會員。

想要獲取備賽計劃,考前查缺補漏、重點沖刺
快來掃下方二維碼咨詢,了解更多課程優(yōu)惠~
站組-1-14.png)
2、開始挑戰(zhàn)
The community——Compete——All challenges
該頁面上顯示的截止當(dāng)前的所有正在進行中的學(xué)術(shù)活動,可以看到正在開放的比賽有47場。

3、進入比賽
選擇一個Contest,頁面上會有任務(wù)描述、獎金金額、比賽截止時間、已經(jīng)參賽的人等信息。點擊“register”即可參賽。

首次參賽,則會出現(xiàn)以下頁面,點擊“I Agree”。已經(jīng)參加過該平臺的其他項目,則不會出現(xiàn)該頁面,需等待審核,“register”由灰色變成紅色的“Unregister”,即參賽成功。

4、提交代碼
點擊“Show Deadlines”,顯示該場學(xué)術(shù)活動的時間節(jié)點,包括注冊截止時間、提交截止時間、評審截止時間等。注意一定要在截止時間前提交。

點擊“Submit”進入提交頁面,將比賽文件添加到紅色框內(nèi)即可。即可完成整個學(xué)術(shù)活動。

在Challenge時,你可以看到任何選手的任何代碼,包括自己沒能通過的題。提供一組數(shù)據(jù)使得該選手出錯,你就獲得了50分,否則失去25分。
在15分鐘之后將會進行System Test。按照經(jīng)驗SystemTest可能在一兩分鐘之內(nèi)完成。如果你打開榜的話,會看到不斷有人通過系統(tǒng)測試,分?jǐn)?shù)將會在一兩分鐘之內(nèi)更新,題解也馬上會發(fā)出。
5、客戶端
如果想要在TopCoder上做題訓(xùn)練,效率最高的辦法當(dāng)然是使用一個配置了插件的客戶端。需要注意訓(xùn)練房間和比賽的規(guī)則是一樣的,你提交之后什么也不會測,需要在上面的控制欄里面選擇”Run System Test”才能夠測試所有測試點。
Topcoder的題目代碼大多不是很長,但是思維復(fù)雜度較高。而且似乎動態(tài)規(guī)劃類型的題目比較多。Topcoder的評測機很快,并且開-O2優(yōu)化,時間限制默認(rèn)為2秒,內(nèi)存限制默認(rèn)為256MB,基本不用擔(dān)心被卡常數(shù)等問題。
Topcoder的項目類型涵蓋了諸多的編程知識點,單說dev就可以細(xì)分很多類型分支。前端(Angular 、react、jQuery),后端(Nodejs,Java,Python,http://asp.net core),手機(IOS、Android,React Native,Ironic),底層(C++)等等。并且在Topcoder上獲得的成績只與個人能力有關(guān)。
Topcoder上的項目基本用github和gitlab做倉庫,且公司自己很多內(nèi)部的項目都放在github上面且開源,直接就可以找到。

? 2025. All Rights Reserved. 滬ICP備2023009024號-1