一般的入门顺序:

0. C语言的基本语法(或者直接开C++也行,当一个java选手可能会更受欢迎,并且以后工作好找,但是难度有点大),【参考书籍:刘汝佳的《算法竞赛入门经典》,C++入门可以考虑《c++ primer plus》,java选手可以考虑《think in java》or中文版《java编程思想》,请远离谭浩强...】
可以选择切一些特别水的题巩固以及适应一下ACM中常见的输入输出格式...例如杭电著名的100题 Problem Set
1. 一些基本算法和数据结构(队列、栈、树、图、并查集、堆、DFS、BFS、最短路、最小生成树、拓扑排序、动态规划、贪心、搜索、KMP、哈希、Trie、AC自动机、快速幂、逆元、费马小定理、欧拉函数、素数筛选、分解质因数)你可以找两个小伙伴一起分工合作,各自认领专题【参考书籍:刘汝佳《算法竞赛入门经典第二版》or《算法竞赛训练手册》,《算法导论》】这时候可以刷的题就多了,你可以选择一些专题进行突破,学习一下技巧。例如
[kuangbin带你飞]专题一 简单搜索
[kuangbin带你飞]专题四 最短路练习
[kuangbin带你飞]专题五 并查集
[kuangbin带你飞]专题六 最小生成树
[kuangbin带你飞]专题十二 基础DP1
[kuangbin带你飞]专题十四 数论基础
[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher
[kuangbin带你飞]专题十七 AC自动机
如果这些你和你的小伙伴都能熟悉掌握,并且能够尽快写出来,那么没有意外的话就可以在网络赛中拿到现场赛的门票(当然还得看出题人的风格...)。
2. 一些进阶的算法以及复杂一些的数据结构(树状数组 线段树 平衡树 后缀数组 二分图匹配 网络流 费用流 割点 桥 强联通 双联通 最近公共祖先 四大DP(数位dp 区间dp 状压dp 概率dp) 博弈论SG函数 )
【参考资料:各种博客......】
[kuangbin带你飞]专题七 线段树
[kuangbin带你飞]专题九 连通图
[kuangbin带你飞]专题十 匹配问题
[kuangbin带你飞]专题十一 网络流
[kuangbin带你飞]专题十五 数位DP
[kuangbin带你飞]专题十八 后缀数组
[kuangbin带你飞]专题二十一 概率&期望
[kuangbin带你飞]专题二十二 区间DP
这些掌握之后在现场赛中拿到牌子应该就没什么问题了,发挥出色还能拿到银牌。。。不过如果遇到比较凶残的赛区...
2.5 这时候如果开始组队了,就可以去刷一些套题了,例如Contests - Virtual Judge
这里每一场比赛都是过去真实发生的录像,你可以clone之后和自己的队友一起实操一下。

3.更高深的技巧,更复杂的数据结构(树链剖分,动态树,可持久化线段树,DLX,后缀自动机,回文树,斜率优化/单调队列优化/四边形优化DP,插头dp,莫比乌斯反演......)
这部分最能体现人与人的差异了...智商碾压一般就在这部分。而要想拿到金牌,一般来说这些知识都要尽可能掌握。
【参考资料:各种论文,解题报告】
这部分的题目比较杂,因此请自行去vjudge上查找....

3.5 同2.5,并且中国国内的比赛如果已经满足不了你,你可以去https://icpcarchive.ecs.baylor.edu/index.php 或者Gym - Codeforces上找到全世界的区域赛的题目,不过题解就不怎么保证了...

也许你会觉得性价比很低,学这么多东西,才"有可能”拿到牌子,但是收获的不一定是物质的牌子,还有学习过程的苦辣酸甜的经历(例如各种WA TLE RE MLE 之后的一次AC),还有和基友一起并肩作战切套题的同甘共苦,而且还锻炼了自己的学习能力(善用百度,谷歌,维基百科)。
所以
Good Luck and Have Fun.

再补充一下:
这些算法都是说着容易,但是灵活搭配用起来难,然后还能在一定时间内写出来,并顺利通过数据测试拿到AC更难。
由于大家手上的模板越来越强大,区域赛一般都不会出现裸的模板题了,一旦出现,肯定就是被大家骂回家的存在。所以在综合训练的过程中,尽量选择需要动脑的题目,不要一昧追求直接贴一个模板上来AC走人特别爽的题目。
一般比较需要动脑的题目类型:贪心,动态规划(最好需要加上优化的),组合数学(推组合数公式,各种等价变换),图论(网络流,最短路,匹配)的各种建图过程。。。
虽然说年轻人要少水群,多做题,才能进Finals——kuangbin。但是一直闭门单刷也不是一件好事,还是要和大家多多交流心得,这样才能避免自己陷入一个瓶颈。

ACM入门步骤(一)的更多相关文章

  1. 大牛对ACM入门菜鸟的一些话

    首先就是我为什么要写这么一篇日志.原因很简单,就是因为前几天有个想起步做ACM人很诚恳的问我该如何入门.其实就现在而言,我并不是很想和人再去讨论这样的话题,特别是当我发现我有很多的东西要学的时候,我实 ...

  2. ACM入门指南

    本文已经转移到了:http://harryguo.me/2015/11/03/ACM-%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/ 什么是ACM? 想必打开这篇博客的人已 ...

  3. acm入门 杭电1001题 有关溢出的考虑

    最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...

  4. ACM 入门计划

    acm 本文由swellspirit贡献 ACM • I can accept failure. but I can't accept not trying. Life is often compar ...

  5. ACM入门之OJ~

    所谓OJ,顾名思义Online Judge,一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限制,包括运行时间限制,内存使用限制和安全限制等.用户程序执行的结果将被Online ...

  6. Hibernate入门步骤及概念

    1.什么是Hibernate Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得程序员可以随心所欲地使用对象编程思维来操纵数据库.Hibernate可以应 ...

  7. 杭电OJ:1089----1096(c++)(ACM入门第一步:所有的输入输出格式)

    1089:输入输出练习的A + B(I) 问题描述 您的任务是计算a + b. 太容易了?!当然!我专门为ACM初学者设计了这个问题. 您一定已经发现某些问题与此标题具有相同的名称,是的,所有这些问题 ...

  8. ACM入门

    1.给n个数字,将它们重新排序得到一个最大的数字 例子 4123 124 56 90--------------90561241235123 124 56 90 9------------990561 ...

  9. acm入门编成题

    http://wenku.baidu.com/view/c8f2f64acf84b9d528ea7aee.html

随机推荐

  1. 【2015 ICPC亚洲区域赛长春站 G】Dancing Stars on Me(几何+暴力)

    Problem Description The sky was brushed clean by the wind and the stars were cold in a black sky. Wh ...

  2. Linux 运维工程师学习成长路线上要经历哪四个阶段?

    之前曾看到一篇新闻,Linux之父建议大家找一份基于Linux和开源环境的工作.今天就来聊一聊我的想法,本人8年Linux运维一线经验,呆过很多互联网公司,从一线运维做到运维架构师一职,也见证了中国运 ...

  3. .Net Core使用Redis-从安装到使用

    一.安装 本文使用的操作系统是Centos7 在Redis中文网下载最新的Redis压缩包:http://www.redis.cn/ 把包上传到Liunx服务器上,cd 到包所在的目录执行以下命令 # ...

  4. master.HMaster: Failed to become active master

    Hbase集群启动后自动退出,日志错误: fatal error: master.HMaster: Failed to become active master java.io.IOException ...

  5. Spark 加载数据库mysql表中数据进行分析

    1.工程maven依赖包 <properties> <spark_version>2.3.1</spark_version> <!-- elasticsear ...

  6. 数组循环左移 i 位

    数组左移 i 位 3 种方法 1.临时数组存储 先将前 i 个元素用数组存起来 再将后 n - i 个元素左移 i 位 最后将存起来的数组添加到后面去即可 2.通过多次调用左移 1 位的函数 3.翻转 ...

  7. jxls-2.x导出excel入门——基本操作

    之前随笔使用的是1.x的比较古老的版本了,已经不再维护,接下来使用较新的2.x的版本进行导出 之前一直按照其他的博客与官网的随笔进行导出,发现一直报错,后面更换了POI的版本为3.16(因为jxls也 ...

  8. Java:二进制(原码、反码、补码)与位运算

    一.二进制(原码.反码.补码) 二进制的最高位是符号位(“0”代表正数,“1”代表负数): Java中没有无符号数: 计算机以整数的补码进行运算: 1.  原码:将一个整数转换成二进制表示 以 int ...

  9. php安全性问题

    目录 常见攻击类型 1.sql注入: 2.xss攻击 3.csrf攻击: php安全三板斧:过滤输入.验证数据,以及转义输出. 1.数据过滤: 2.验证数据: 3.转义输出: laravel 中如何避 ...

  10. Ruby 基础教程1-6

    1.循环实现方法 循环语句 (while;for; loop,until) 循环方法(times,each) 2.for           for 变量 in 对象             主体   ...