USACO美國計算機奧賽詳細介紹


什麽是 USACO?

美國計算機編程算法競賽 USACO (www.usaco.org)是一個(ge) 電腦編程以及算法競賽。為(wei) 每年的國際計算機競賽IOI (Informatics Olympiad International) 選拔美國隊隊員。

計算機奧賽(USACO)與(yu) 數學奧賽(USAMO),都是國家National 級別的奧賽,是美國國家隊選拔賽。參加兩(liang) 個(ge) 國際奧林匹克賽的美國選手是通過這兩(liang) 個(ge) 全國比賽層層選拔出來的。AMC考察數學,USACO考察編程和算法。USAMO的參加的學生很多,相對參加USACO的要少些。因為(wei) 參加人數不是太多,比數學競賽更容易入圍,進級。

USACO 和 AMC:

AMC10≈USACO Bronze

AMC12≈USACO Silver

AIME≈USACO Gold

USAMO≈USACO Platinum

USACO是一個(ge) “算法”競賽,這意味著參賽者需要用創造和係統的方法來解決(jue) 問題,而不僅(jin) 僅(jin) 是直接把程序的描述直接轉換成代碼。例如,“找出列表裏麵最大數字的位置”是一個(ge) 非常簡單的算法問題,但“寫(xie) 出先畫一個(ge) 圓圈,再畫一個(ge) 正方形的指令”就是另外一回事了。

USACO 參賽形式

通過登錄USACO官網,在線提交代碼的形式參賽。在比賽規定的時間範圍內(nei) (通常是4天,期間覆蓋一個(ge) 周末 。你有4天的時間來開始比賽選擇一個(ge) 適合你的時間,競賽不允許有任何外部幫助和合作。一旦比賽開始,你有3-4個(ge) 小時的時間查看和解決(jue) 3個(ge) 獨立的編程問題。在線打開題目,在線提交代碼。代碼提交後,係統會(hui) 自動給出評分。從(cong) 打開題目算起,選手需要完成3道題目。代碼提交後,係統會(hui) 自動給出評分,如果拿到了滿分,係統會(hui) 提示直接晉級,則可在本次月賽中繼續挑戰更高難度的試題。一般情況下,月賽考試結束後,會(hui) 劃出晉級分數線。如果成功晉級,可在下個(ge) 月的比賽中參加更高級別的競賽。

所有3個(ge) 編程問題的分值都是333.333分,總分是1000分。對於(yu) 每個(ge) 問題,分數在每個(ge) 測試案例中平均分配。如果問題1有10個(ge) 測試案例,問題2有11個(ge) ,問題3有12個(ge) 測試案例,那麽(me) 問題1的每個(ge) 測試案例價(jia) 值33.33分,問題2的每個(ge) 測試案例價(jia) 值30分,而問題3的每個(ge) 測試案例價(jia) 值27.77分。

注冊(ce) USACO也很簡單,隻需要在www.usaco.org注冊(ce) 一個(ge) 免費賬戶,注冊(ce) 時你不需要選擇特定的比賽日期。隻要你有了這個(ge) 賬戶,可以在比賽日期隨時參與(yu) 競賽。USACO 競賽是完全免費的!你隻需要注冊(ce) 一個(ge) 賬戶,就可以參加比賽了。USACO 解題絕對不可以在網上複製別人的代碼!不要複製抄襲,一經發現永久封號。

USACO 參賽時間

USACO在每年12月-次年3月,每個(ge) 賽季有4場比賽. 12月月賽, 1月月賽, 2月月賽, 3月公開賽。前三場比賽的形式是相同的。請查看USACO網站的主頁最新發布時間。

USACO 12月考試是4次中最容易的一次,秋季班衝(chong) 刺至關(guan) 重要。錯過了要等一年,考題每年難度都在大幅度提升,考試形式也可能變化。12月的月賽通常是聖誕前的一個(ge) 周末,當場出成績,一周內(nei) 放榜,也非常適合在RD的截止前衝(chong) 擊申請材料的最後一個(ge) 閃光點。12月份的成績也可以作為(wei) 申請遞交完畢最好的補充材料。

USACO 參賽級別

USACO 競賽有4個(ge) 級別,銅級,銀級,金級,白金級。每個(ge) 級別代表不同的編程技能水平在每場月賽中,題目難度分為(wei) 銅級、銀級、金級、鉑金級四種級別,難度依次提高。新注冊(ce) 的選手從(cong) 銅級開始,在規定的時間內(nei) 完成3道題目,如果過關(guan) ,可晉級到更高級別。

每個(ge) 人都必須從(cong) 銅級開始參賽。在每個(ge) USACO比賽中,每個(ge) 技能水平都有一個(ge) 比賽(例如,銀級選手不會(hui) 和銅級選手參加同一個(ge) 比賽)。以下是每個(ge) 級別的編程比賽中你需要知道的內(nei) 容/如何通過每個(ge) 級別的編程比賽。

銅級是USACO的基礎級別。主要考察編程知識的掌握程度,排序、二分查找。大多數銅級問題沒有像高級別的那樣有很多效率問題。要能夠解釋一個(ge) 編程問題。知道/能夠創建基本算法和邏輯。循環,數組,內(nei) 部算法,知道/能夠將自己的想法轉化為(wei) 代碼。

銀級銀級考試比銅級考試要難得多。涉及遞歸搜索、貪心算法等基本的問題求解技術;了解最基礎的數據結構概念, 要考察效率問題。  

金級:設計更複雜的標準算法(例如最短路徑,動態規劃等),熟練掌握數據結構, 主要考察效率問題。  

鉑金級:對算法有深入了解,熟練應用,能解決(jue) 複雜問題、開放問題。

USACO 參賽語言

可以使用的參賽編程語言列表如下:Java、C++ 17、C++ 11、C、Python 2 (2.7.17)、Python 3 (3.6.9)

C++ 是奧計考試的主選語言之一,起步難但程序緊湊效率高,適合金級以上考生利用網上資料自學自修。C++是高效編程語言,網上有很多資料,適合金級白金級自學,但語言難學,初學者進步很慢。

Java 是奧計考試的主選語言之一,易學易升級,又可以拿到APComputer高分。

Python 是奧計考試的主選語言之一,易學易考,適合人工智能和機器學習(xi) ,是當今的大熱門。

USACO 參賽評級

USACO係統自動評分。測試案例的數量會(hui) 因問題而異(通常為(wei) 10個(ge) 左右)。每個(ge) 測試案例都有相等的分值,所有測試案例的總分值為(wei) 333分。有時,較早的測試用例在其所需的時間複雜度方麵會(hui) 明顯容易。這意味著,如果你的代碼效率很低,它應該仍然能夠獲得前幾個(ge) 測試用例的部分積分。重新提交沒有任何懲罰。

但是,如果你多次提交,你提交的最後一次(不是最好的)將被算作你的分數。如果你的程序不能編譯,缺少輸出,或有運行時錯誤,提交將失敗(將不被評分),你將被告知錯誤。在評分開始前,你的程序也必須首先獲得樣本案例的正確性。

一旦你的程序通過了初始編譯和樣本測試案例,它將針對所有的測試案例運行。對於(yu) 導致測試用例失敗的原因,有幾個(ge) 可能性:

T:超時(在Java和Python中為(wei) 你提供4秒,在其他語言中為(wei) 你的代碼成功運行並返回解決(jue) 方案提供2秒)。

!: 運行時錯誤(典型的運行時錯誤,但也包括超過內(nei) 存限製,這很罕見,但可能發生)

X:錯誤的答案(你對測試案例的答案是不正確的)

如果你能在比賽中得到1000/1000分(通過每一個(ge) 測試案例),你就會(hui) 得到一個(ge) 比賽中的晉升。(獲得賽中晉級的分數有時會(hui) 低於(yu) 1000分,不過這種情況非常罕見)。這意味著你可以在當前4天的競賽窗口中開始下一級的競賽(你不必等待窗口結束來獲得晉升。)

否則,你必須等到窗口結束後才能晉級。USACO將根據比賽結果計算出截止分數,如果你的分數高於(yu) 截止分數,你將被提升到下一個(ge) 級別。根據不同的比賽,高於(yu) 750分或800分的分數通常會(hui) 讓你晉升。

然而,作為(wei) USACO全國錦標賽的美國公開賽有一些小的區別(其他方麵都是一樣的)。問題的難度要大得多。比賽時間多1小時。

USACO 的含金量

USACO是美國大學申請過程中非常有含金量和競爭(zheng) 力的一個(ge) STEM競賽。USACO 還有一個(ge) 更大的好處在於(yu) ,實用性很廣,實戰性很強。就算不參加奧林匹克比賽。USACO 也能夠幫助孩子在最短的時間內(nei) ,有效的提高和掌握電腦編程語言,增加電腦技能。對孩子將來的發展有更深遠的影響和幫助。隨著STEM教育的理念,及編程低齡化,普及化的發展,USACO的參賽人數和熱度越來越高。

USACO是不僅(jin) 僅(jin) 是一項可以讓申請者迅速提高STEM,編程算法學術背景的比賽,編程本身作為(wei) 一門使用技能也會(hui) 讓學理工科的學生受益終生,即便是商科文科的同學,編程訓練本身帶來的思維優(you) 勢也可以極大的促進學習(xi) 。

因為(wei) 大量的中國學生熱衷於(yu) 參加熱門的美國數學奧賽、美國化學奧賽,所以USACO在中國的普及度並不高。這意味著參賽選手少,獲獎選手也少,含金量自然更高。

【競賽報名/項目谘詢+微信:mollywei007】

上一篇

AP全科輔導課程-AP同步GPA輔導課程

下一篇

2022年A Level夏季大考關鍵數據解讀

你也可能喜歡

  • 暫無相關文章!

評論已經被關(guan) 閉。

插入圖片
返回頂部