首先說一下,ACM的入門方法多種多樣,大部分人還是跟著學校一起參加集訓,所以我這里主要是想對那些準備ACM入門的業余的朋友談的。
入門書籍:
首先推薦一些ACM的書籍:
(以下我都會給出在當當網的頁面,方便大家直接購買,以下排名不分先后)
1.《程序設計導引及在線實踐》
http://product.dangdang.com/product.aspx?product_id=20051430&ref=search-1-pub
這是我的第一本入門書,這本書是配套北大的百煉習題,注意不是POJ,貌似是北大內部測試用的,不過也是對外開放的,去年好像百煉變化過,所以[u]不知道這本書還適不適合那個新的百煉系統[/u]。
2.《算法競賽入門經典》
http://product.dangdang.com/product.aspx?product_id=20724029&ref=search-1-pub
這本書沒話說,劉汝佳的白書,經典的算法入門書籍。[b]強烈推薦[/b]!
3.《算法藝術與信息學競賽》
http://product.dangdang.com/product.aspx?product_id=8811386&ref=search-1-pub
劉汝佳的黑書,難度較深,題目基本來至Uva,我是看了前面以部分,后面就沒咋看了。。。
4.《算法導論》
http://product.dangdang.com/product.aspx?product_id=9211884&ref=search-1-pub
經典的書籍是不需要解釋的。
這是我曾經上傳過的英文版CHM算法導論,可以下載了看看:
http://www.cppleyuan.com/viewthread.php?tid=5130&highlight=%E7%AE%97%E6%B3%95%E5%AF%BC%E8%AE%BA
我最近也在寫算法導論的讀書總結,歡迎大家探討:
http://www.wutianqi.com/?p=2403
5.《編程之美》
http://product.dangdang.com/product.aspx?product_id=20170952&ref=search-1-pub
挺有意思的,不能作為一個算法的全面書籍,而是作為一本拓寬思維的書籍,有興趣的建議要看看。
6.《計算機程序設計藝術》
http://product.dangdang.com/product.aspx?product_id=690222&ref=search-1-pub
有好幾卷的,只給出一卷的連接,而且網上版本很多,大家可以自行選擇。
這個還沒看,關鍵是沒時間了,準備考研完了就趁著假期看完。
7.《組合數學》
http://product.dangdang.com/product.aspx?product_id=8976756&ref=search-0-mix
鴿巢原理,博弈,容斥原理,Catalan數等都屬于這個范疇的,建議看看。
8.《數據結構(C語言版)》嚴蔚敏
http://product.dangdang.com/product.aspx?product_id=9268172&ref=search-1-pub
數據結構,這個必須得學好啊~~~
9.《數據結構與算法分析C++描述(第三版)》
http://product.dangdang.com/product.aspx?product_id=9239535&ref=search-1-pub
有時間可以看看,C++ Template寫的,可以順便鞏固下template。
以下基本都沒看過,不過貌似很有名,給出書名和連接:
10.《世界大學生程序設計競賽(ACM/ICPC)高級教程.第一冊.程序設計中常用的計算思維方式》
http://product.dangdang.com/product.aspx?product_id=20645866&ref=search-1-pub
這本我其實買了,但是還沒有時間看。
11.《國際大學生程序設計競賽指南—ACM程序設計》
http://product.dangdang.com/product.aspx?product_id=20450827&ref=search-1-pub
12.《國際大學生程序設計競賽例題解(三)圖論、動態規劃算法、綜合題專集》
http://product.dangdang.com/product.aspx?product_id=9352432&ref=search-1-pub
這個好像也有好幾冊,每一冊都是單獨講一個方面的。
13.《挑戰編程:程序設計競賽訓練手冊》
http://product.dangdang.com/product.aspx?product_id=20637355&ref=search-1-pub
(作者:Tanky Woo, 個人博客:http://www.wutianqi.com ,C++/算法論壇:http://www.cppleyuan.com/ 。轉載請注明個人及原文連接,謝謝合作)
入門方法:
這么多書,不可能全部都看的,我覺得前10本,也就是我看過的,都還不錯,大家可以看看。
另外,我個人推薦ACM可以這樣入門(以下用到了上面書籍前面的序號):(當然,如果學校有專門培訓的,則跟著學校來更好)
1.數據結構是基礎,建議先把8號嚴蔚敏老師的《數據結構》好好看1~2遍,代碼都手動敲一敲。
2.再看2號劉汝佳的白書。
3.去年暑假(2010.7~2010.9月),我曾經給我的論壇(C++奮斗樂園:http://www.cppleyuan.com/)搞過一次ACM專題訓練,訓練題全部來至HDOJ,當時我是由易到難,每天選擇一個專題,在HDOJ上找3~4題,然后在論壇給出題目,大家可以到HDOJ去提交,然后貼到論壇供其他朋友參考。板塊是:http://www.cppleyuan.com/forumdisplay.php?fid=40,前面都是看書,這里就建議大家開始實戰了,在論壇里一共除了200多題,大家一定要做!
4.有了一定的基礎,就可以再一邊進行深入(看書),一邊做題了。這個時候神馬《算法導論》,《計算機程序設計藝術》等等都可以看看。
5.到了這個階段,沒啥說的了,自由學習~~~
最后說一句:算法魅力,無與倫比,歡迎大家來到ACM的世界!加油!
(作者:Tanky Woo, 個人博客:http://www.wutianqi.com ,C++/算法論壇:http://www.cppleyuan.com/ 。轉載請注明個人及原文連接,謝謝合作)