# :-: ACM快速入门篇
* 本篇只是强调如何快速入门,请自行选择是否观看。
<br>
## **书籍的选择**
* 可以看简单易懂的书籍,不要选择厚的,不然容易劝退。
我们在此推荐一个在线的学习网站:链接是 [here](http://www.runoob.com/cprogramming/c-tutorial.html)。
如果你有C语言的书籍,可以简单学到指针之前就行了(除了指针,指针之后的内容可以在后期学习)。
* 学习过程中切忌只看书,不动手实验操作。C语言的学习是一个动手习惯的过程, 比如一个知识点,你可以自己动手测试,来看它有什么用,从而加深语法和概念的理解。
<br>
## **IDE的使用**
* IDE就是集成开发环境,包括编辑,编译,运行,调试... C/C++的IDE有很多,Devc++,CodeBlocks,VS ...
* 对于IDE,前期可以用DevCpp(比较无脑好操作,九号群中也有这个资源)。如果代码中有语法错误,会有提示,所以看到错误可以快速修改也是一种需要锻炼的能力,对于各种错误警告的提示,常见的错误就那几种,见一个记一就够了,熟悉这个可以提高你Coding的速度。
<br>
## **OJ刷题**
* 当C语言的基本语法学的差不多了,就可以开始愉快的OJ刷题之旅,刷题可以帮助你加深对C语法的熟练度,最重要的是可以帮助你建立编程思维。
* OJ方面我们推荐zzulioj,前几页题目比较基础,很适合入门,OJ链接 [here](http://acm.zzuli.edu.cn/problemset.php?page=1),依此刷前几页就行了。
* 在网上找了一些关于OJ方面的教程,大家可以看看了解一下 [here](https://space.bilibili.com/252522456/#/)。
<br>
## **Self-study + Persistence**
* 学习是一个逐步沉淀的过程。自学+坚持。
* 上了大学,很多东西都是要自己去学习,也没有人会教你,你要学着自学,学着baidu,学着Google...
* 大一是大学期间,自由时间最充裕,一定不要荒废,相信这样一句话:将来的你一定会感谢现在努力的你!!!
- 简介
- 零基础快速入门ACM
- C语言快速入门
- C语言快速入门
- C/C++基础
- 输入输出
- 数组和字符串
- 数组
- 字符数组
- 函数和递归
- C++标准容器库(STL)
- Vector
- Map
- Set
- String
- Stack
- Queue
- Priority_queue
- 贪心
- 硬币问题
- 区间调度问题
- 字典序最小问题
- 独木舟问题
- 搜索
- DFS
- BFS
- 剪枝
- 记忆化搜索
- 常用技巧
- 倍增
- 高精度
- 大数加法
- 大数减法
- 大数乘法
- 大数除法
- 大数阶乘
- 输入挂
- 前缀和
- 二分
- 本地预处理
- 尺取
- 枚举
- 坐标离散化
- 分治
- 数列分治
- 树上分治
- 平面分治
- 计算几何
- 凸包
- 点积
- 叉积
- 线段关系
- 皮克定理
- 最近点对
- 数据结构
- 线段树
- 树状数组
- 并查集
- 动态规划
- 基础知识
- 信息学竞赛中的动态规划
- 动态规划初步
- 最长上升子序列(LIS)
- 最长公共子序列(LCS)
- 最大子段和
- 背包问题
- 部分背包
- 0 1 背包
- 完全背包
- 多重背包
- 背包的可行性问题
- 线性DP
- 树形DP
- 区间DP
- 数位DP
- 动态规划优化
- 字符串
- KMP算法
- 拓展KMP
- 字符串Hash
- Manacher算法
- 后缀数组
- Trie树
- 博弈论
- Nim博弈
- Bash博弈
- 斐波那契博弈
- 威佐夫博弈
- SG函数
- 数论
- 整数研究
- 素数判断
- 素数筛选
- 快速幂
- 算数基本定理
- 最大公约数(Gcd)
- 费马小定理
- 扩展欧几里得
- 逆元
- 同余定理
- 组合数学
- 容斥原理
- 抽屉原理
- 卢卡斯(Lucas)
- 卡特兰(Catalan)
- 著名函数
- 欧拉函数
- 莫比乌斯函数
- 线性代数
- 矩阵运算
- 矩阵快速幂
- 图论
- 存图方法
- 邻接矩阵
- 邻接表
- Vector存图
- 链式前向星
- 图的遍历
- 拓扑排序
- 最短路
- Dijkstra算法
- SPFA算法
- Floyed 算法
- 最小生成树
- Prim算法
- Kruskal算法
- 最近公共祖先 (LCA)
- 二分图匹配
- 网络流
- 其他
- 莫队