個(ge) 人學習(xi) 和背景介紹
同學們(men) ,老師們(men) ,大家好,筆者是就讀於(yu) 上海市格致中學國際班的吳域,在去年取得了AP CSA五分的好成績,在USACO中達到了Gold Deviation,參加過各種國內(nei) 外科技競賽,獲得了如未來軟件工程師競賽的一等獎、Microsoft Future Image Cup的中國區TOP30、第二屆交大長三角AI競賽二等獎等。
同時也參加過我的世界某一工作室的插件開發,不論是實戰還是競賽,本人對於(yu) 計算機科學也是有較多的見解啦,而今天呢想和大家分享一下USACO的備考經驗。
USACO是什麽(me) 比賽?
美國計算機奧林匹克競賽(USA Computing Olympiad,簡稱USACO)是由美國官方舉(ju) 辦的中學生計算機編程與(yu) 算法線上比賽,也是譽滿全美的中學生計算機編程競賽。
USACO於(yu) 1992年首次舉(ju) 辦,目前已成功舉(ju) 辦27次。旨在為(wei) 每年夏季舉(ju) 辦的國際信息學奧林匹克競賽(IOI)選拔美國隊隊員,目前逐漸發展為(wei) 全球熱門的線上賽事,和奧數IMO一樣,成為(wei) 美國大學申請條件下,含金量相當高的官方競賽。
USACO有四個(ge) 競賽 Divisions級別,Bronze, Silver, Gold,和Platinum。所有參賽者都是從(cong) 銅級賽區開始的。在每個(ge) 比賽賽周之後,如果參賽者有足夠高的分數就會(hui) 被“promoted”到下一個(ge) 級別--通常是600-800分(滿分1000分)。
你還可以在contest weekend中所有問題獲得滿分直接獲得晉升。每一組都比前一組困難得多。這通常需要相當多的學習(xi) 、訓練,試圖提升到一個(ge) 新的水平需要耗費的時間,每一個(ge) 等級長達一年或更長時間。
USACO在2015年增加了Platinum級別。在此之前,每一個(ge) division的難度都比現在大,大約相當於(yu) 今天的division“one step up”。例如,一般來說,“old Bronze”問題最接近“modern Silver”問題的難度。
比賽含金量如何?
申請美國大學有幫助的活動中,USACO第一項就強調:
近幾年,STEM教育的理念及編程低齡化,普及化的發展迅猛,USACO的參賽人數和熱度越來越高。對於(yu) 未來美本留學申請理工科專(zhuan) 業(ye) 的高中生來說,USACO能夠獲得金或者白金級別的獎項,絕對是提高競爭(zheng) 力的大殺器。
當然,USACO也是美國大學申請過程中非常非常有含金量和競爭(zheng) 力的一個(ge) 競賽。因為(wei) 大量的中國學生熱衷於(yu) 參加熱門的美國數學奧賽、美國化學奧賽,所以USACO在中國的普及度並不高。如果你參加並且獲獎了,能為(wei) 你的簡曆加分不少,在中國申請者中脫穎而出。
USACO報名與(yu) 參賽步驟
登錄USACO官網https://www.usaco.org/,點擊Register for New Account按鈕,注冊(ce) 新賬戶。
USACO官網:
填寫(xie) 信息並激活賬號(Complete information and activate)
注冊(ce) 結束後,在綁定的郵件中查收自己的賬號和默認密碼。並登陸官網(24小時內(nei) 首次登陸方可激活,登錄後可修改密碼),並點擊“Login”。
競賽考察的知識點整體(ti) 介紹 青銅級
參賽資格: 注USACO賬號即為(wei) 青銅級
青銅級考試隻要求掌握基本編程常識,會(hui) 至少一種編程語言。青銅級的編程限製時間還是充足的,隻要掌握基礎的編程技能,大部分選手都能在第一次考試中晉級白銀級。
C++語言基礎
高精度算法
鏈表,堆,棧,隊列
搜索算法
排序與(yu) 集合 map,set,
algorithm庫
greedy貪心思想
計算幾何入門 白銀級
參賽資格: 通過青銅級比賽的選手
需要掌握基本的問題解決(jue) 能力和簡單算法 (例如: 貪心算法,遞歸搜索等) ,還需了解基礎數據結構。從(cong) 白銀級開始,選手需要尋找更好的算法才能使程序在規定時間內(nei) 跑完。
二分與(yu) 分治
排序算法
貪心算法進階
分治,排序與(yu) 貪心
搜索進階
遞推與(yu) 前綴和
圖論基本概念
基本連通性問題
樹,樹上計數問題
黃金級
參賽資格: 通過白銀級比賽的選手
需要有一定的算法基礎,理解一些抽象的方法(例: 最短路徑,動態規劃) ,並且對數據結構有比較深的了解。
白金級
參賽資格: 通過黃金級比賽的選手
需要有很高的編程基礎,對算法有深入的了解。部分比賽問題最後的優(you) 化方案,可能不止一個(ge) ,得出的答案也不止一個(ge)
數論基礎
簡單字符串
動態規劃入門
動態規劃進階
最短路
最小生成樹連通性問題
線性數據結構
線段樹
賽前需要了解的內(nei) 容 比賽形式
提交的3-4個(ge) 程序中的每一個(ge) 都要對10個(ge) 或更多的“test cases”進行測試——用已知的結果輸入程序中的數據集。您可以為(wei) 每個(ge) 給出正確結果的測試用例獲得學分。在一個(ge) contest weekend的比賽中,一個(ge) 組別的所有問題總共有1000分。如果您的程序運行時間太長,占用太多內(nei) 存,或者崩潰,那麽(me) 您將在測試用例中失去分數,因此代碼的效率是一個(ge) 因素!這在Silver及以上級別的賽組中尤其突出。
比賽的計時形式是什麽(me) ?
在賽周的任何時候,進入網站並點擊按鈕啟動你的個(ge) 人比賽計時器,時間為(wei) 3-5個(ge) 小時。出發前你會(hui) 被告知確切的時間限製,通常是4小時。然後,選手將獲得競賽問題的訪問權限。
可以休息或提前停止,但一旦你在那個(ge) 周末點擊了“開始”按鈕,你的時間就會(hui) 一直在滴答作響,直到到期--不允許暫停。如果你隻是想檢查一下題目,那麽(me) 你可以隨意花時間嚐試它,想花多少時間就花多少時間。如果你的目標是做好,試著提前計劃一整段時間,這樣你就可以不分心地工作了。
比賽開始後會(hui) 發生什麽(me) ?
在啟動計時器後,會(hui) 被允許回答3-4個(ge) 問題(通常是3個(ge) ),選手必須在個(ge) 人時間窗口中解決(jue) 。每一個(ge) 都將提供一個(ge) 背景問題,必須編寫(xie) 一個(ge) 程序進行分析。在選手的時間窗口內(nei) 的任何時候,都可以通過網站提交您的程序進行測試。選手可以在時間窗口內(nei) 自由切換或返回到任何問題,並繼續提交解決(jue) 方案,直到時間截止或者選手覺得已經全部完美為(wei) 止。可以選擇在同一周末的任何時間使用新的計時器開始新部門的比賽。
不同等級的同學學習(xi) 方法介紹&分享 沒有編程基礎的同學如何備考?
建議從(cong) Python或者Java入手,上手較快。可以選擇先自學,學習(xi) 主要內(nei) 容為(wei) 數據結構,編程語法,配合一定強度的練習(xi) 和老師講解,可以初步通過第一輪銅級的選拔。
有編程基礎的同學如何備考?
在讀AP計算機的高一高二同學,或者學習(xi) 過Python的同學,可以從(cong) C/C++或者Python入手,學習(xi) 算法知識,加強算法練習(xi) 和真題訓練。
有相關(guan) 參賽經驗的同學如何備考?
在有數據結構和編程語法基礎的前提下,需要係統的學習(xi) 一些常見算法,比如排序等等。同時大量練習(xi) 官方的金、白金級別的真題。
比賽特點 免費,貨真價(jia) 實,簡單
免費:這個(ge) 比賽不需要任何額外的費用,這就意味著你可以免費的參加這個(ge) 比賽很多次,無需要有額外的經濟負擔。
貨真價(jia) 實:這個(ge) 比賽的含金量如上文所說其實非常之高,比賽的付出與(yu) 收入是成正比的,有了付出就一定會(hui) 在這個(ge) 比賽當中獲得比較好的成果!
簡單:隻要你有一台能上網的電腦就足夠,不需要再額外的購買(mai) 其他外設來參加比賽
競賽參考資料 USACO官網
需要初步認知這個(ge) 競賽,建議首先在USACO官網上回顧過去的比賽,該網站提供了一係列競賽材料。這種比賽風格通常被稱為(wei) “online judge”係統,你可以通過在線搜索找到許多例子。USACO官方還提供其他鏈接和資源的列表。
USACO書(shu) 單推薦
書(shu) 名:Competitive Programming 1-5
介紹:可以迅速提升自己的競賽硬實力,了解一些基本算法以及一些基本答題思路,可以說是入門必選。
USACO在線資源
https://usaco.guide/
一群敬業(ye) 的前決(jue) 賽選手匯集了一個(ge) 新的在線培訓資源。免費收集精選的高質量資源,帶您從(cong) 青銅級到白金級及更高級別。
https://www.geeksforgeeks.org
海外算法學習(xi) 網站
https://www.commonlounge.com/community/e4aac00a033a40ec96657906c6e1b43c/main
為(wei) 1OI做準備和練習(xi) + 在競爭(zheng) 性編程方麵做得更好 + 通過動畫和視頻以有趣的方式學習(xi) 算法。
https://codeforces.com/blog/entry/23054
博客條目中提供了更多在線參考資料的出色列表
https://starcoder.org
從(cong) 基本編碼到 USACO 競爭(zheng) 性編程 以上就是本次對USACO競賽的介紹以及分享啦,謝謝大家!
評論已經被關(guan) 閉。