本文已经转移到了:http://harryguo.me/2015/11/03/ACM-%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/

什么是ACM?

想必打开这篇博客的人已经知道什么是ACM了吧,如果不知道,请自行百度或者谷歌

搞ACM需要学习什么知识?

搜索引擎

这里不是让你设计一个搜索引擎,而是让你学会正确使用搜索引擎,当你有任何不解的时候(包括阅读下文),问问谷歌或者百度,这不只是ACM才需要的技能。

一门编程语言

虽然现在编程语言总类繁多,有些OJ也支持多种语言,不过C++还是搞ACM不二的选择,另外最好也学会使用java,因为无论在什么地方,什么国家,什么网站的比赛,C++和java都是支持的。ACM是算法的比拼,所以并不需要将编程语言钻研过深,毕竟语言只是工具。

良好的英语

ACM是国际比赛,英文交流能力是无可后非的。英文差,但是想搞怎么办?对于这样的问题,我的答案是:请自行学习英语,世上无难事,只怕有心人。

数学能力

算法算法,无论怎样都脱离不了数学。我认为,几何学、线性代数、离散数学、初等数论和微积分是必须掌握的。太多了怎么办?这点请放心,你可以在不断的比赛中积累这些知识。

在哪里可以训练/做题?

可以在OJ上训练

全球有非常多非常多的OJ,即Online Judge,在线评测平台,他们可以将你的代码进行在线评测,来判断正误。推荐的国内的OJ有CDOJ(电子科技大学),POJ(北京大学),HDUOJ(杭州电子科技大学),BNUOJ(北京师范大学)。

如何提交我的代码

我不打算详细讲解,所以可以的话,请看每个OJ的F.A.Qs,英文怎么办?自己想办法。

有没有线上的比赛

国内的线上比赛有HDU的bestcoder,这个是有奖金的比赛,国外的推荐codeforces,会不定期的进行比赛,比赛的难度适合新手(英语较好),另外就是Topcoder,这个是相当有名的比赛,不过入手较为困难,你可以百度或者谷歌相关教程,这里就不详细解释了。这些比赛都有着积分的规则,简单说,你打得好,积分就会上涨,否则下跌。高排名总是被各大公司相中,如Google、阿里等,特别是Topcoder,在这里的高排名相当有价值。

推荐的书籍?

英语我就不推荐了,自己想办法。下列书籍中的任何习题,都推荐去完成。

编程语言类

《C++大学基础教程》作者是Deitel,这个作者所著的编程书籍都是值得学习的。

算法入门类

《挑战程序设计》,《算法竞赛入门经典》作者刘汝佳。

数学类

《组合数学》,《算法导论》,《具体数学》

常见的问题

算法无法理解

多看书,多想,细细琢磨,别人能懂,你也可以。问问老师同学,周围的大牛肯定有人知道。

这道题怎么做,完全不会

碰到不会的题是很正常的事,此时你就需要搜索题解,怎么搜索?当然谷歌百度。

那些家伙为啥那么厉害

勤能补拙,每个大神的背后都有着辛勤的付出。凡事靠坚持,每个人都有着无限的潜能,也许你会看见比你更厉害的大神,但只要你努力,你就是下一个大神。

学习这个会不会占用我很多时间

有得便有失,投入和专注是获得成绩的充要条件。

最后的话

时间不会因为你的犹豫而止步,既然你决定了搞ACM,那么就应当立马开始行动,要知道有很多人已经在你的前面走了很远。

ACM入门指南的更多相关文章

  1. ACM配置指南

    Ubuntu桌面入门指南 ACM比赛系统ubuntu 使用指南 ACM核武器 简明 Vim 练级攻略 Vim命令合集 代码编辑神器VIM(附我写acm程序时的配置) my_vimrc in ubunt ...

  2. [CTF] CTF入门指南

    CTF入门指南 何为CTF ? CTF(Capture The Flag)夺旗比赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式.CTF起源于1996年DEFCON全球黑客大会 ...

  3. Web API 入门指南 - 闲话安全

    Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...

  4. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...

  5. yii2实战教程之新手入门指南-简单博客管理系统

    作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...

  6. 【翻译】Fluent NHibernate介绍和入门指南

    英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...

  7. ASP.NET MVC 5 入门指南汇总

    经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解 ...

  8. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

  9. 一起学微软Power BI系列-官方文档-入门指南(2)获取源数据

    我们在文章: 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍中,我们介绍了官方入门文档的第一章.今天继续给大家介绍官方文档中,如何获取数据源的相关内容.虽然是英文,但 ...

随机推荐

  1. [shell]查找网段内可用IP地址

    #网段可用IP地址 #!/bin/sh ip= " ]; do .$ip -c |grep -q "ttl=" && echo "10.86.8 ...

  2. ssh.sh_for_centos

    #!/bin/bash sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config sed -i 's/#Us ...

  3. InnoDB 存储引擎的线程与内存池

    InnoDB 存储引擎的线程与内存池   InnoDB体系结构如下: 后台线程: 1.后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据: 2.另外,将以修改的数据文件刷 ...

  4. BZOJ 1483:[HNOI2009]梦幻布丁(链表+启发式合并)

    [HNOI2009]梦幻布丁 Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一 ...

  5. code forces 999C Alphabetic Removals

    C. Alphabetic Removals time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  6. Reversion windows 2008 R2 STD to Datacenter

    1.To determine the installed edition, run: DISM /online /Get-CurrentEdition 2.To check the possible ...

  7. cpj-swagger分别整合struts2、spring mvc、servlet

    cpj-swagger 原文地址:https://github.com/3cpj/swagger 1. Swagger是什么? 官方说法:Swagger是一个规范和完整的框架,用于生成.描述.调用和可 ...

  8. github的使用简易教程

    一.安装git https://git-for-windows.github.io/ git  ->  git bash 二.配置参数 $ git config --global user.na ...

  9. js中字符串常规操作

    string对象属性: 1.length 获取字符串的长度,需要注意的是,js中中文每个汉字也只代表一个字符. var myName="xulinjun"; console.log ...

  10. Vitamio介绍及使用

    一.Vitamio介绍 1.1 Vitamio是什么? Vitamio是Android平台视音频播放组件,支持播放几乎格式的视频以及主流网络视频流(http/rtsp/mms等),详细的中文介绍: 这 ...