转自:http://www.wutianqi.com/blog/2512.html
首先说一下,ACM的入门方法多种多样,大部分人还是跟着学校一起参加集训,所以我这里主要是想对那些准备ACM入门的业余的朋友谈的。
入门书籍:
首先推荐一些ACM的书籍: (以下我都会给出在当当网的页面,方便大家直接购买,以下排名不分先后)
- 1.《程序设计导引及在线实践》
http://product.dangdang.com/product.aspx?product_id=20051430&ref=search-1-pub 这是我的第一本入门书,这本书是配套北大的百炼习题,注意不是POJ,貌似是北大内部测试用的,不过也是对外开放的,去年好像百炼变化过,所以不知道这本书还适不适合那个新的百炼系统。
- 2.《算法竞赛入门经典》
http://product.dangdang.com/product.aspx?product_id=20724029&ref=search-1-pub 这本书没话说,刘汝佳的白书,经典的算法入门书籍。强烈推荐!
- 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/](http://www.cppleyuan.com/))搞过一次**ACM专题训练**,训练题全部来至HDOJ,当时我是由易到难,每天选择一个专题,在HDOJ上找3~4题,然后在论坛给出题目,大家可以到HDOJ去提交,然后贴到论坛供其他朋友参考。板块是:[http://www.cppleyuan.com/forumdisplay.php?fid=40](http://www.cppleyuan.com/forumdisplay.php?fid=40),前面都是看书,这里就建议大家开始实战了,在论坛里一共除了200多题,大家一定要做! 4.有了一定的基础,就可以再**一边进行深入(看书),一边做题**了。这个时候神马《算法导论》,《计算机程序设计艺术》等等都可以看看。 5.到了这个阶段,没啥说的了,**自由学习**~~~
最后说一句:算法魅力,无与伦比,欢迎大家来到ACM的世界!加油!