明年准备参加ACM了,请大家推荐几本书

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:00:53
主要是数学类的,和计算机算法类的,谢谢

数学类的比较好的有《初等数论》,《组合数学》等,学得比较好的可以看《具体数学》(据说市面上已经买不到中文版了,英文好的话看英文版也可以,或者看超星图书馆的中文版本),北大版的《离散数学》,今年宁波就有两道很难的题分别就是要求看过组合数学和具体数学的。
算法类的《算法导论》+《算法艺术与信息学竞赛》应付大部分题够了,一般没必要完全认真搞明白(这个看个人追求,完全看明白花的时间很多,除非是天才,或者是已经学得很不错的人)。王晓东的算法分析和吴文虎王建德那本我也稍微浏览了下,很多内容大同小异,不过我朋友说王晓东的书讲得不错,对理论补充有好处。虽然我自己是觉得对acm来说,理论是在动手的过程中学会比较好的,一开始的阶段书是作为工具书来查着看的。
还有就是多看每年国家集训队的论文,虽然我自己没看多少,但是有些牛人告诉我他们基本都看完并且完成大部分论文中的题目,于是变牛了很多。而且有些很流行的acm算法是上面提到的书没有都介绍到的,比如后缀数组,线段树,trie图等等,不是每本书都有说,这些看论文比较好。

如果楼主是想入门的话,一开始多做题是正道,做到实在不会的题可以问问人。因为做题可以让人了解这个竞赛具体是怎么回事,看书应该是结合做题过程的,因为毕竟acm强调的是实操能力。
再往上的话思考是很重要的,多看书,结合做题,渐渐学会一些各种各样的算法,这个阶段光做题进步不会很大,结合各类知识有质量的做题,学会灵活运用,才是正道。
再想往上一步的话,有些人是通过做大量的题目,有些人是通过扎实的理论基础,不过这个我也不好给意见了,本人也是挺菜的,哈哈~
事实上入门大家都差不多,做题做到不会就看书,后面的发展就要看自己了。刚才我举得都是怎样入门,因为我自己也就入门没多久而已。要变强的话,经历了做题的阶段之后,一定不能放弃思考+做题+看书+问人的阶段,我也正在努力中,大家共勉吧~

最近铁道出版社出版了两本ACM的书,你可以看看。《世界大学生程序设计竞赛(ACM/ICPC)高级教程第一册
程序设计中常用的计算机思维方式》
作者:吴文虎 王建德
书号:10134-3
定 价:42.00元
出版日期:2009年7月

《ACM程序设