本文已经转移到了:http://harryguo.me/2015/11/03/ACM-%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/java
想必打开这篇博客的人已经知道什么是ACM了吧,若是不知道,请自行百度或者谷歌算法
这里不是让你设计一个搜索引擎,而是让你学会正确使用搜索引擎,当你有任何不解的时候(包括阅读下文),问问谷歌或者百度,这不仅是ACM才须要的技能。编程
虽然如今编程语言总类繁多,有些OJ也支持多种语言,不过C++仍是搞ACM不二的选择,另外最好也学会使用java,由于不管在什么地方,什么国家,什么网站的比赛,C++和java都是支持的。ACM是算法的比拼,因此并不须要将编程语言钻研过深,毕竟语言只是工具。编程语言
ACM是国际比赛,英文交流能力是无可后非的。英文差,可是想搞怎么办?对于这样的问题,个人答案是:请自行学习英语,世上无难事,只怕有心人。工具
算法算法,不管怎样都脱离不了数学。我认为,几何学、线性代数、离散数学、初等数论和微积分是必须掌握的。太多了怎么办?这点请放心,你能够在不断的比赛中积累这些知识。学习
全球有很是多很是多的OJ,即Online Judge,在线评测平台,他们能够将你的代码进行在线评测,来判断正误。推荐的国内的OJ有CDOJ(电子科技大学),POJ(北京大学),HDUOJ(杭州电子科技大学),BNUOJ(北京师范大学)。网站
我不打算详细讲解,因此能够的话,请看每一个OJ的F.A.Qs,英文怎么办?本身想办法。搜索引擎
国内的线上比赛有HDU的bestcoder,这个是有奖金的比赛,国外的推荐codeforces,会不按期的进行比赛,比赛的难度适合新手(英语较好),另外就是Topcoder,这个是至关有名的比赛,不过入手较为困难,你能够百度或者谷歌相关教程,这里就不详细解释了。这些比赛都有着积分的规则,简单说,你打得好,积分就会上涨,不然下跌。高排名老是被各大公司相中,如Google、阿里等,特别是Topcoder,在这里的高排名至关有价值。设计
英语我就不推荐了,本身想办法。下列书籍中的任何习题,都推荐去完成。code
《C++大学基础教程》做者是Deitel,这个做者所著的编程书籍都是值得学习的。
《挑战程序设计》,《算法竞赛入门经典》做者刘汝佳。
《组合数学》,《算法导论》,《具体数学》
多看书,多想,细细琢磨,别人能懂,你也能够。问问老师同窗,周围的大牛确定有人知道。
碰到不会的题是很正常的事,此时你就须要搜索题解,怎么搜索?固然谷歌百度。
勤能补拙,每一个大神的背后都有着辛勤的付出。凡事靠坚持,每一个人都有着无限的潜能,也许你会看见比你更厉害的大神,但只要你努力,你就是下一个大神。
有得便有失,投入和专一是得到成绩的充要条件。
时间不会由于你的犹豫而止步,既然你决定了搞ACM,那么就应当立马开始行动,要知道有不少人已经在你的前面走了很远。