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