CSP2019复习指南
知识点(大纲)内容参考于本人博客:
算法
基本算法:
模拟、暴力枚举、排序、贪心、递归、递推、贪心、二分、位运算
这些算法不再在此加以赘述,如有考前还不太懂的同学请尽快补习!
进阶算法
- 分治和归并排序:
(附:)
- 二分:
- 差分和树上差分:
- 位运算:
搜索
搜索是一种算法,但是把它单独拉开做一个专辑来训练。如果对搜索的基本概念和深搜、广搜还不是很了解的同学,以及不会写爆搜的同学,请尽快补习!!
- 剪枝:
动态规划(DP)
动态规划也是一种算法,但它在算法竞赛中的作用甚至要等于其他算法的总和,光是这一种算法的衍生和派生算法以及各种次分类就有很多的学问。所以单独拿出一个专栏来讲。对于基础动态规划即线性动态规划不了解的同学请尽快补习!!再次重申,动态规划非常重要!!
- 背包问题:
- 期望DP:
- 状压DP:
数学
由于年龄参差不齐,一般来讲(NOIP)中不会涉及太多的数学知识。但是这并不绝对,不涉及文化课上太深的数学知识不代表不考数学。数学推导和基础数学知识不仅锻炼思维,而且对联赛也有很大帮助。
基本数学:
- 质数和约数:
- 最大公约数(GCD):
稍难数学:
- 互质和欧拉函数:
- 扩展GCD:
- 概率论:
- 组合数学:
- 0/1分数规划:(选择掌握)
图论
关于图论,有一篇专门总结的讲解请戳这里:
图论的相关知识是OI中比较好玩的一类运筹学知识。学图论要比学数论好玩多了(滑稽)
对于基本图论问题,包括图的概念、图的遍历、最短路和最小生成树算法这些东西还不是很了解的同学请猛戳上面的总结博客链接补习!!
进阶图论:
- 拓扑排序(其实这个不算进阶图论...):
- LCA(最近公共祖先)问题:
- DFS序:
- 树链剖分:(选择掌握)
数据结构
有一句话怎么说的来着?外国人擅长数学,中国人擅长数据结构。所以中国能AKIOI
一些基础数据结构,如栈和队列等,如果掌握的还不是很好,请尽快自行补习!!
简单的数据结构:
- 链表:
- 堆:
- C++STL:
稍微复杂的数据结构:
- 分块:
- 树状数组&线段树:
- 字符串Hash:
小技巧
各种必须掌握好用的小技巧~~
- 离散化:
- 快速幂、快速乘:
- 暴力生成全排列:
- 双指针(尺取法):
- 快读&快写:
希望对各路神仙有所帮助~~
祝路过的大佬们(CSP2019RP++)!
给推荐我还祝你(AK)