競賽簡介
USACO(美國信息學奧林匹克競賽)初次舉辦於1992年,其官網是美國一個著名在線題庫,更是美國中學生的官方競賽網站,開設目的是為每年夏季舉辦的國際信息學奧林匹克競賽(IOI)選拔美國隊隊員。
USACO比賽規則
USACO每場比賽4-5個小時。可以在比賽規定時間開始后登陸USACO賬號,從在線打開試題后開始計時。在比賽窗口開放的三天時間內,選手可以選擇任意時間開始比賽。
選手需要在時間結束前通過網絡將寫好的程序提交。程序提交后官網會給出用test case檢測程序的結果,並根據結果給出這一題的得分。可以使用C++,Java,Python,Pascal,和C中的任意一種編程。
每次比賽,實力強的選手可以連續升級。
開始比賽4小時內,如果拿到了高分(接近滿分或滿分),系統會提示直接晉級,可以在這三天內繼續挑戰下一級,只要實力足夠,一場考試可以升到滿級白金級。
沒能拿到滿分的選手需要等到三天的賽程結束后,等待晉級分數線,才能決定是否晉級,如果成功晉級,可以在一個月后的第二場繼續參賽晉級
USACO競賽等級
青銅
參賽資格:一進入USACO注冊賬號即為銅級。
難度等級:銅級考試只要基本編程常識,會至少一種編程語言。銅級的編程限制時間還是夠用的,大部分初次參賽的選手都能在第一次考試中晉級白銀級。
白銀
參賽資格:通過青銅級比賽的選手。
難度等級:需要基本的問題解決能力和簡單算法(例如:貪心算法,遞歸搜索等),還需了解基礎數據結構。從白銀級開始,選手需要尋找更好的算法才能使程序在規定時間內跑完。
黃金
參賽資格:通過白銀級比賽的選手。
難度等級:需要有一定的算法基礎,理解一些抽象的方法(例:最短路徑,動態規划),並且對數據結構有比較深的了解。
白金
參賽資格:通過黃金級比賽的選手。
難度等級:需要有很高的編程基礎,對算法有深入的了解。部分比賽問題最后的優化方案,可能不只一個,得出的答案也不只一個
USACO含金量
從競賽級別來說,USACO就和國內五大學科競賽,全國信息學奧林匹克聯賽(原名NOIP,現改名為CSP)幾乎一樣。
對於參加國內信奧競賽的同學,USACO絕對是一個可以檢驗並提升自己實力的比賽,也可以在自己的榮譽冊上添磚加瓦為以后升學提供幫助。
對於申請出國留學的學生,USACO能夠獲得金或者白金級別的獎項,也絕對價值千金
如何備賽
對於沒有編程基礎的選手: 建議從python或者java入手,上手較快。可以選擇先自學,學習主要內容為數據結構,編程語法,配合一定強度的聯系,可以初步通過第一輪銅級的選拔。
對於有部分編程基礎的選手,比如在讀AP計算機的高一高二同學: 可以從C++或者C入手,作為編程語言中最強大最基礎的兩門,無論是應付比賽還是在以后讀本科或者工作中使用,提前學習C++和C都是不錯的選擇。
對於有編程基礎及編程經驗的選手,比如參加過國內NOI的同學: 可以目標直接是沖擊至少金級別以上的獎項,在有數據結構和編程語法的前提下,需要系統的學習一些常見算法,比如排序等等。同時大量練習官方的金,白金級別的真題
競賽時間
每年十二月到次年四月,每月一場,共四場
報名參賽
報名渠道就在usaco官網上直接注冊賬號就可以啦。USACO官網:usaco.org.(頁面如下)
銅組樣題
英文
中文
家長與學生常見問題
Q:什么是USACO?
A:USACO全稱是USA Computing Olympiad,也就是美國計算機奧林匹克競賽。USACO和NOIP相似,只不過前者是美國的,后者是中國的。USACO和AMC也相似,只不過AMC考察數學,USACO考察編程和算法。
Q:中國學生可以參加USACO嗎?怎么參加?
A:可以。USACO是比AMC更加開放的賽事,全世界的編程愛好者,哪怕你不是中小學生,都可以在任何一個能連上互聯網的地方參加USACO的線上比賽。線上參加只需要在www.usaco.org提前注冊好一個賬號就可以。
Q:任何編程愛好者都可以參賽的話,高手很多怎么辦?中學生怎么打得過大學生?
A:不用擔心,比賽結果包含Pre-College Participants和Observers兩部分排名,只有未上大學的學生可以參加Pre-College Participants的排名。
Q:小學生也可以參加嗎?
A:當然可以。
Q:看不懂英文題目怎么辦?
A:不用擔心,USACO主辦方為題目提供了多種語言翻譯,包括中文。
Q:比賽只能用C/C++嗎?
A:不是,比賽可以用C/C++,Java或Python,你可以選擇你熟悉的語言。
Q:參加USACO需要繳納多少參賽費?
A:線上參賽是完全免費的。
Q:USACO每年的比賽時間?
A:2020-2021學年的第一場比賽在20年12月18至21日舉行,第二場比賽在21年1月22至25日舉行,第三場比賽在21年2月26日至3月1日舉行,最后一場線上比賽US Open在21年4月2日至4月5日舉行。參賽選手只需要在這段時間內選3到5小時(具體時長取決於參賽組別)到網站上登錄參賽即可。
Q:USACO會不會很難?適合初學者參加嗎?
A:目前USACO分銅、銀、金和鉑金4個組別,難度是依次遞增的。第一次參賽需要從銅組開始參加,達到一定分數可以自動晉級到下一個組別。編程剛入門就可以參加銅組的比賽了,銅組比賽基本不涉及算法和數據結構
相關介紹