USACO 舉辦的目的在於訓練美國中學生的邏輯思考與解決問題的能力,並從中選拔出每年 IOI (International Olympiad in Informatics,奧林匹亞資訊學科) 的參賽選手。而為了確實培訓將來要參加 IOI 的國手,USACO 特別建立了所謂的 USACO Training。
USACO Training 是一個線上的網路題庫,主要是用來訓練程式設計、活用演算法與資料結構的能力。題目的內容五花八門,涵蓋了各式各樣的問題。且 USACO Training 題目依照難易度,由簡到難共分為 6 個章節,必須以章節順序依次將題目完成。
除了循序漸進之外,USACO Training 還提供了許多程式設計相關的教學文章,像是貪婪演算法(Greedy Algorithm)、深度優先搜尋(Depth-First Search,DFS)、廣度優先搜尋(Breadth-First search,BFS)、動態規劃(Dynamic Programming,DP)等等。
看完教學文章之後,再利用題庫中的題目做練習,學習的效果相當顯著。若是程式有錯誤,網站還會列出程式的錯誤訊息、或是錯誤的那筆測試資料與正確答案的對照,以便於除錯。而在解出題目之後,USACO Training 還有詳細的題目分析講解與參考程式。
貼心的是,遇上某些太難的題目,USACO Training 還會提供一些小提示。只要順著提示的引導,往往就可以寫出那一題的答案了。
總而言之,我覺得 USACO Training 的題目其實還滿有意思的。在一邊寫的同時,感覺也學到了不少東西。所以新年新希望,就是能夠將 USACO Training 中的題目全部寫完囉(笑)。
以下是一些相關網站及參考資料,有興趣的人可以參閱:
.USA Computing Olympiad
.USACO Training Program Gateway
.USACO Contest Gateway
.United States of America Computing Olympiad - Wikipedia
0 回覆:
張貼留言