讀書筆記: Art of Programming Contest for uva 開始解題之前的提醒
第一章主要是給打算要進入程式競賽的人一些小提醒。
關於解題
關於解題
- 新手一開始最好先挑簡單的問題解,並想辦法用短時間快速解掉。
- 如果花了很多時間也不要氣餒,你只是練習的還不夠。
關於程式
- 只挑"一個"語言深入鑽研,透徹了解該語言的各種細節,讓它成為你的武器。
- 高手解題時,思考和規劃會先用掉 45% 的時間,而最後的 45% 時間用來測試和除蟲,實際上只用10%的時間 coding。
- 學會用 I/O 轉向,就不需要每次都浪費時間用手輸入測資
#ifndef ONLINE_JUDGE freopen("INPUT_FILE", "r", stdin); freopen("OUTPUT_FILE", "w", stdout); #endif
關於算法
- 不要只滿足於一個解法,盡量嘗試用多種不同方法來解同一題。這樣你才有機會比較不同演算法之間的差異,或碰著原本不會遇見的錯誤。
- 演算法是一串解決特定問題的步驟,多學學各種不同的演算法。
- 比賽時盡量選最簡單的演算法,並且平時作熟,比賽的時候沒有時間設計複雜的演算法。
- 現在的電腦很快,迴圈跑個一百萬次也不需要多少時間的,不要斤斤計較小地方。
把程式寫的簡明
- 少用複雜的程式語句、少用動態分派記憶體、少用指標。
- 把每個變數的名字都命名清楚,像 Right_Most ,不要用縮寫 rm。
留言
張貼留言