为明确 COCR 命题方向,便于同学们备赛,COCR 命题组特此给出 COCR 系列竞赛考试大纲。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 入门级 DIV.4
在该级,主要训练选手基本的代码编写能力、调试能力和思维能力,锻炼选手们的题感和第一思路。
1.1 基础算法
* 【1】模拟法
* 【1】枚举法
* 【2】贪心法
* 【2】二分法
* 【2】递归法
* 【2】递推法
* 【2】排序法
* 【3】前缀和
* 【3】差分
* 【3】深度优先搜索 DFS
* 【3】广度优先搜索 BFS
* 【3】剪枝
1.2 数据结构
* 【2】栈
* 【2】队列
* 【2】链表
* 【3】哈希表
* 【3】STL 库
* 【3】优先队列
1.3 图论与树论
* 【2】图的建立
* 【2】图的遍历
* 【3】二叉树
* 【3】拓扑排序
1.4 数学与数论
* 【1】初中代数几何
* 【1】最大公约数 gcd
* 【1】最小公倍数 lcm
* 【2】素数筛法
* 【2】进制
* 【2】位运算
* 【3】排列组合
* 【3】逆元
1.5 动态规划
* 【3】线性动态规划
* 【3】背包动态规划
1.6 杂项
* 【2】高精度算法
* 【3】离散化
2 普及级 DIV.3
本级建立在入门级 Div.4 的大纲之上。
在该级,主要训练选手的思维功底和扎实程度,以及在应对中档偏低难度问题时的应变能力。
2.1 基础算法
* 【4】记忆化搜索
* 【5】倍增法
* 【5】分治法
* 【6】三分法
* 【6】构造法
* 【6】双向 BFS
* 【6】Meet in the Middle
* 【6】反悔贪心
2.2 数据结构
* 【4】单调栈
* 【4】单调队列
* 【5】ST 表
* 【5】并查集
* 【5】堆
* 【5】字典树 Trie
* 【5】树状数组
* 【6】线段树
* 【6】霍夫曼树
2.3 图论与树论
* 【4】最短路算法
* 【4】最小生成树
* 【5】最近公共祖先 LCA
* 【5】树的直径
* 【5】树的重心
* 【6】Tarjan 算法
* 【6】连通分量
* 【6】割
2.4 数学与数论
* 【4】高中代数几何
* 【4】Catalan 数
* 【5】不定方程
* 【5】容斥原理
* 【5】鸽笼原理
* 【5】二项式定理
* 【5】翡蜀定理
* 【6】扩展欧几里得定理 exgcd
* 【6】中国剩余定理 CRT
* 【6】欧拉函数
* 【6】Stirling 数
* 【6】期望
* 【6】莫比乌斯函数
2.5 动态规划
* 【4】区间动态规划
* 【4】树形动态规划
* 【5】状态压缩动态规划
* 【6】数位动态规划
* 【6】四边形不等式优化
2.6 字符串算法
* 【5】KMP
* 【6】Manacher
2.7 杂项
* 【4】哈希 hashing
* 【4】双指针
* 【5】离线处理思想
* 【6】随机化
3 提高级 DIV.2
本级建立在普及级 Div.3 的大纲之上。
在该级,主要训练选手对于算法、数据结构等知识的综合运用能力,考察知识面的宽度。
3.1 数据结构
* 【7】平衡树
* 【7】基环树
* 【7】分块
* 【8】K-D Tree
* 【8】珂朵莉树 ODT
* 【8】可持久化
* 【8】线段树合并
* 【8】树链剖分
3.2 图论与树论
* 【7】优化建图
* 【7】仙人掌
* 【7】Prüfer 序列
* 【7】网络流
* 【7】费用流
* 【7】欧拉回路
* 【7】二分图
* 【8】2-SAT
* 【8】Dilworth 定理
* 【8】点分治
3.3 数学与数论
* 【7】概率论
* 【7】矩阵
* 【7】高斯消元
* 【7】拟阵
* 【7】导数
* 【7】级数
* 【7】莫比乌斯反演
* 【7】Lucas 定理
* 【7】二次剩余
* 【8】LGV 引理
* 【8】积分
* 【8】定积分
* 【8】微分
* 【8】Pólya 定理
* 【8】博弈论
* 【8】生成函数
3.4 动态规划
* 【8】动态规划的优化
3.5 字符串算法
* 【8】AC 自动机
* 【8】后缀数组 SA
* 【8】后缀树
* 【8】后缀自动机 SAM
* 【8】回文自动机 PAM
* 【8】扩展 KMP(Z 函数)
3.6 计算几何
* 【7】向量
* 【8】凸包
* 【8】旋转卡壳
* 【8】差集
* 【8】半平面交
3.7 复杂搜索
* 【7】A* 算法
* 【8】IDA* 算法
* 【8】Dancing Links
3.8 杂项
* 【7】扫描线
* 【8】模拟退火
* 【8】遗传算法
* 【8】根号分治
* 【8】线段树的启发式合并
4 进阶级 DIV.1
本级建立在提高级 Div.2 的大纲之上。
在该级,主要训练选手对较复杂问题的思考能力和决策能力,善于将复杂问题分离化、简单化。
4.1 数据结构
* 【9】整体二分
* 【9】cdq 分治
* 【9】李超线段树
* 【9】吉司机线段树
* 【9】动态树 LCT
* 【10】虚树
4.2 图论与树论
* 【9】圆方树
* 【10】动态树分治
4.3 数学与数论
* 【9】拉格朗日反演
* 【9】线性基
* 【9】Dirichlet 卷积
* 【9】范德蒙德卷积
* 【10】大步小步算法 BSGS
4.4 动态规划
* 【10】轮廓线动态规划
4.5 多项式
* 【9】快速傅里叶变换 FFT
* 【9】快速数论变换 NTT