提高组(L3)课程表

提高组(L3)算法训练课程表

阶段

课次

课程标题

算法基础

第1讲

时间复杂度计算(基本概念,主定理,核算法,势能法)

第2讲

代码规范(命名规范,注释与细节)

第3讲

二分算法应用及扩展(小数二分,三分法)

第4讲

倍增算法应用及扩展(树上倍增,dp倍增)

第5讲

分治算法应用及扩展(归并排序,搜索)

搜索

第6讲

搜索方法(倒搜,记忆化)

第7讲

A*(启发式搜索,k短路)

第8讲

dancing links(数独问题)

第9讲

搜索进阶(爬山法)

第10讲

搜索进阶(模拟退火)

第11讲

搜索中的问题探讨(空间复杂度,剪枝方法)

动态规划

第12讲

树形dp(noip2018 d2t3)

第13讲

区间dp(noip2007 矩阵取数游戏)

第14讲

数位dp

第15讲

状压dp(noip2017 d1t2)

第16讲

插头dp(noip2018 d2t2)

第17讲

计数dp

第18讲

概率dp(noip2016换教室)

字符串

第19讲

哈希/Trie

第20讲

Kmp/Ac自动机

数据结构

第21讲

第22讲

单调栈/单调队列

第23讲

平衡树(splay)

第24讲

树套树/主席树

图论

第25讲

最短路(差分约束/传递闭包)

第26讲

二分图(判定,匈牙利算法)

第27讲

网络流(dinic算法)

第28讲

强连通分量(拓扑,割边,桥)

数学

第29讲

数论(欧拉函数,欧拉定理,逆元)

第30讲

生成函数(数列)

第31讲

组合数学

第32讲

矩阵

其他

第33讲

分数规划

第34讲

随机化