1月 29, 2009

【介紹】USACO - What's This

@
  USACO (United States of America Computing Olympiad,美國資訊奧林匹亞)是美國為其中學生所舉辦的程式設計競賽,能使用的程式語言包含 CC++Java 以及 Pascal

  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 回覆:

張貼留言