一位ACM过来人对菜鸟的建议

一位ACM过来人对初学者的建议

    


    以下的推荐书目,都是我这几年以来看过并觉得值得推荐的书籍,有些书籍我读了不止一遍,同一本书,阅读的次数不同,感悟也会很不一样,很多事情都是同一个道理;或许有些你已经学过,你可能也觉得自己学得不错,但无论如何,请再一次“认认真真”地学习一遍,把每一个重点都重新理解一遍,把每一个你认为值得记录下来的知识点、想法都记录下来!

    你要明确你是一名ACMer,你的对手是来自一流的强校,一流的选手,OI天才不会掉到SCUEC,如果你不努力,不坚持,静不下心来,凭什么去跟他们竞争



基础篇

语言篇


C方面

书名:  《C语言程序设计》

出版社:高等教育出版社

责任人:苏小红,王宇颖,孙志岗等

一位ACM过来人对菜鸟的建议



 C++方面

书名:  C++ 编程思想

出版社:机械工业出版社

责任者:刘宗田等 

一位ACM过来人对菜鸟的建议


书名:  C++ Primer(第四版以上)

出版社:人民邮电出版社

责任者:李师贤,将爱军,梅晓勇,林瑛等

一位ACM过来人对菜鸟的建议

 


STL方面

书名:  C++ STL开发技术导引

出版社:人民邮电

责任人:叶至军 

一位ACM过来人对菜鸟的建议

 

 

 数据结构篇

书名:  《数据结构教程》(第2版以上)

出版社:清华大学出版社

责任者:李春葆,尹为民,李蓉蓉等

一位ACM过来人对菜鸟的建议

 

 

 竞赛篇

书名:  《算法竞赛入门经典》

出版社:清华大学出版社

责任者:刘汝佳

一位ACM过来人对菜鸟的建议

上面的这本书,好像出新版了,叫《算法竞赛入门经典训练指南》

一位ACM过来人对菜鸟的建议

对于这本书,我的要求是:

第一部分:语言篇(认真看完,包括每一个例题,这部分较简单,看不懂说明你能力仍不足)

第二部分:算法篇(认真看完,并完成推荐题目的80%,推荐的题目都是比较有意义的题目)

 


    这部分是ACM ICPC的基础,如果对基础都没有耐心,那你应该好好自我反思一下了,ACM ICPC是很磨砺人的比赛,你缺乏冷静,缺乏沉稳,缺乏坚持,缺乏自信,最终都注定失败。

    什么是知识,什么是能力?这是我工作以后接触到的第一个问题,我想,所谓真正的能力就是形成潜意识,就像你会骑自行车,你骑车的时候不需要老想着要看前方,要平衡身体,这一个过程来得很自然,完全是跟着自己的意识来的;所谓知识,仅仅只是你当时学到,但如果长期不用,你可能就会忘记,比如应试教育,过后就忘。能力是要经过知识洗礼,并长期应用,进而熟悉的产物。对于学习也是一样的道理,比如某个算法,你真正理解了,并经过了长期实践,这样即使你已经忘记原来的代码是怎样的,但是你仍然可以将脑海的思路完整地实现,这就是能力!所以,在这里,我强调真正理解。所谓大牛,都是具备这样的能力的,而你的对手也正是这么厉害的人,此刻,你还有理由放纵自己吗?

    善于总结,建议每做完一道有意义的题目,都认真地记录下来,比如你从这道题目中收获了什么,遇到了什么问题,怎么克服的,不管做对还是做错,只要你觉得有意义的,都应该记录下来,不管是以何种方式,我当时是用Excel记录下来的,参见2012暑假做題情況.xls,或者可以了解一下“印象笔记”

一位ACM过来人对菜鸟的建议

    针对基础的训练(其实不仅仅是基础,进阶方面也是一样的,经验多了,你自然就知道怎么做的),我的建议是一个阶段全力攻克一个专题,比如,这几天或这几周,我明确要训练高精度运算,我就会去找涉及到高精度运算的题目,这时候就要善用搜索引擎了,哪个OJ都好,HDOJ、ZOJ、POJ……反正我的目的是训练自己这方面的能力,所以没必要固定在一个OJ上做题。

一位ACM过来人对菜鸟的建议

 


 ---------------------------------------------------------------------- 我是分割线  ----------------------------------------------------------------------

 

进阶篇


我是一名菜鸟,这部分我仍未跳过,希望后人能够在这个基础上进行补充!有几个很不错的国外OJ,极力推荐!

 

USACO(美国计算机奥林匹克竞赛)

一位ACM过来人对菜鸟的建议

URL:http://cerberus.delos.com:790/usacogate

就像是一位私人教练,做完一个section,下一个section才开放,题目有点水平,难度不低,编程能力不错的同学,应该做一下这个OJ


USACO Training - NOCOW

一位ACM过来人对菜鸟的建议

USACO上题目的翻译,题解,wiki一样的开源公益网站,有能力的同学应该将自己的解答思路贡献到上面,学会分享

URL:http://www.nocow.cn/index.php/USACO_Training

 


UVA

一位ACM过来人对菜鸟的建议

URL:http://uva.onlinejudge.org/

算法竞赛入门经典里面的推荐题目就在这里提交的!这里的题目有点难度

 

 

Codeforces

一位ACM过来人对菜鸟的建议

URL:http://codeforces.com/

这个一般是模拟比赛的,题目有点水平