1.贪心,递推,基础DP(背包,区间DP,状态压缩DP(去年出了不少于2道铜牌题,看着办))
2.搜索(BFS,DFS,A*,IDA*)
3.单调队列、单调栈的思想,倍增算法(ST表) (重点左边3个东西在DP优化上的应用,简单讲一下平行四边形法则、斜率优化)
4.线段树,树状数组
5.树(包括并查集,生成树,树的一些经典问题(LCA,这里顺便讲解一下树的深度序列转区间问题),经典计数(树DP))
6.图论基本问题(DAG图的拓扑排序,最短路算法floyd,dijstra,spfa(这里讲一下差分约束和分数规划))
7.匹配(二分图(带权)匹配(主要匈牙利,KM,顺便提及一下HK算法),一般图匹配(提及即可)),重点在二分图各种匹配
8.最大流、最小割(经典模型,棋盘模型要有介绍),上下界提及一下即可
9.简单数学(扩展GCD(解线性方程),中国剩余定理,素数筛法,欧拉定理,欧拉函数)
10.二分(基本的单调性查找,矩阵(快速幂)),三分
11.基础概率模型和高斯消元
12.简单几何(点积,叉积,线段交,凸包等)
13.博弈(nim和模型,其他常见模型,对称性博弈的思想)
14.字符串1(kmp,扩展kmp(z-function),字符串的最小表示,manacher)
15.字符串2:trie树,trie图(ac自动机)
16.字符串3:后缀数组
列出的,可以有侧重点地讲,但是基本概念必须普及。因为是给部分12级以及13级的同学普及算法思想,因此请在每讲结束后,在HUST的VJ上开相应专题的虚拟比赛,要求:入门题有2-3道(模板啥的),后面加上几道进阶题
对于听讲同学的要求,因为基本来说,2-3个专题是一周的,所以入门题必过,进阶题选择做或者不做,但是要求至少有3个专题是深入的。同时,出题者要给出简单题解。
以上是Ly师兄给出的专题要求,这一阶段我打算按照要求一个专题一个专题突破,先把常用的算法和思想有个基本了解,先会做这些专题的基础题,再逐渐过渡到下一步,敬请关注。。。。