※ 引述《smartboy (爛掉了爛掉了)》之銘言:
: * Programming Challenges: The Programming Contest Training Manual
: <http://www.amazon.com/exec/obidos/ISBN=0387001638/theinternationscA/>
<略>
: This book provides a complete training course for all three major
: programming contests -- ACM International Collegiate Programming
: Contest (ACM ICPC), International Olympiad in Informatics (IOI),
: and Topcoder Challenge -- with training and competition secrets
這本書著墨的三個比賽, acm icpc 跟 ioi 大家多少的知道
topcoder 相對比較不熟悉,
我稍微看了一下, 還不夠清楚, 大概跟大家介紹一下
topcoder http://www.topcoder.com/
似乎是國外有些流行的比賽網站, (我猜多少跟有獎金有關?)
他定期舉辦比賽, 似乎有兩種類型, 一是比速度, 一是比品質
後者我覺得屬於這網站商業模式的一部分
他定義一些 project, 分成設計與實作, 讓大家 submit, 再選出做得最好的給獎金
萬一那 project 有人想買, winner 還可以分錢. 這種比賽時間當然就稍長
(該網站跟求才/求職機制有關)
前者比速度的, 是我主要要介紹的,
比賽方式給三題問題, 易中難各一題, 比賽時間一小時
(我只看一兩次的題目), 其中難題的難度大約算是 icpc 比賽的簡單題吧
頂多中等偏易. 也就是說他的難度不是演算法這個維度的.
(也不是icpc英文閱讀那種的)
比賽分三階段進行
1.寫程式, submit
2.challenge
3.system test
1,3 大致上就跟平常程式比賽一樣
若你的程式是對的, 那就跟大家比寫程式的速度
前頭講, 題目都不難, 但難在如何寫得快
一小時三題. 我稍估計, 兩題應該沒問題, 但三題就有些困難了
2.challenge 是我覺得滿有意思的設計
在程式寫完, 系統測試前, 每個人都可以自由瀏覽別人的 code
除了學習別人的寫法, 你要是覺得對方的程式有 bug,
你可以自己輸入些 test data, challenge 對方的 code!
若證實對方有 bug, 則加分, 挑戰失敗則扣分
若我對 topcoder 說錯了什麼, 還是漏了, 歡迎補充
對於 topcoder(比快的比賽), 我的看法是:
1.若你覺得有趣, 那就玩吧
對一般人而言, 練習把程式寫得超級快, 意義並不大, 足夠快就夠了
2.對參加icpc這類型比賽, 想加強簡單題速度,
也許可以考慮看看??
各隊特質不同, 請自行判斷這樣是否有這種需求
(當然加強實力才是正途, 速度是輔助工具)
3.練習比賽, 幫隊友 debug 怎麼訓練, 我覺得可以參考 challenge 這種模式
抓隊友的程式看, 在 judge 前挑出有問題的 code,
知道他常犯什麼錯誤, 增加對隊友 code 的熟悉度, 之類
--
"靈感 = 經驗 + 嘗試 + 快速的計算能力"
--- Ledia
"靈感, 是實力的累積"
--- untitled
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 61.70.142.187
※ 編輯: smartboy 來自: 61.70.142.187 (09/16 02:25)