信息学最全知识点清单

信息学竞赛知识清单

基本说明:带*表示省选掌握知识,带**表示较难省选知识,带!表示较偏门知识

文章目录

  • 信息学竞赛知识清单
    • 一、基础知识
      • 1、STL,参见百科STL总结
      • 2、常见技巧
    • 二、基础算法
      • 1、递归(输出方案)、枚举(优化)
      • [ ] 2、高精度
      • 3、分治
        • [ ] 二分答案
        • [ ] 排序算法
        • [ ] cdq分治*、整体二分
        • [ ] 树分治(点分治、边分治!、链分治*)
        • [ ] 动态点分治*
      • 4、贪心
        • [ ] 常见贪心
        • [ ] 随机化贪心!
      • [ ] 5、倍增法
      • [ ] 6、双指针
      • 7、模拟
        • [ ] 约瑟夫问题
        • [ ] 模拟退火!
      • [ ] 8、搜索
        • [ ] dfs、bfs
        • [ ] 剪枝:折半搜索、可行剪枝、最优化剪枝
        • [ ] 双向搜索、A* 搜索、迭代加深、IDA*
    • 三、动态规划
      • [ ] 1、背包类dp
      • [ ] 2、LIS,LCS、编辑距离
      • [ ] 3、区间dp
      • [ ] 4、最大字段和
      • [ ] 5、最大子矩阵、悬线法
      • [ ] 6、树形DP
          • [ ] 树上背包问题
          • [ ] 树的直径、重心
          • [ ] 换根法
          • [ ] 其他延展
      • [ ] 7、数位dp
      • [ ] 8、状压dp
      • [ ] 9、计数类DP
        • [ ] 10、概率与期望
      • [ ] 11、插头/轮廓线(*)
      • 12、DP优化
          • [ ] 单调队列优化
          • [ ] 数据结构优化
          • [ ] 斜率优化
          • [ ] 四边形不等式优化(*)
    • 四、图论
      • [ ] 1、图论基础
        • [ ] 图的储存(矩阵、前向星、vector、边目录)
        • [ ] 图的遍历(DFS/BFS)
      • [ ] 2、欧拉路
      • [ ] 3、最短路
        • [ ] floyd及应用
        • [ ] dijkstra、spfa
        • [ ] 次短路、最短路计数等应用
        • [ ] 差分约束
      • 4、生成树
        • [ ] 最小生成树(prime、kruskal)
        • [ ] 次小生成树、度限制生成树(*)
        • [ ] 生成树计数(*)
        • [ ] 最小树形图(*)
        • [ ] 最优比例生成树
        • [ ] kruskal重构树(*)
        • [ ] Steiner Tree*
      • 5、连通性问题
        • [ ] 割点割桥、边/点双连通
        • [ ] 有向图强连通(tarjan\korasaju)
        • [ ] 2-SAT
        • [ ] 最小点基*
      • 6、拓扑排序
        • [ ] 拓扑上dp
        • [ ] 拓扑序字典序
      • 7、二分图匹配
        • [ ] 匈牙利算法
        • [ ] 常见匹配问题及转换
        • [ ] 带权最优匹配
      • 8、网络流*
        • [ ] 最大流算法(dinic\isap\HLPP(**))
        • [ ] 最小割
        • [ ] 费用流
        • [ ] 常见问题
          • [ ] 网络流解决二分图问题
          • [ ] 上下界可行流、费用流
          • [ ]最大权闭合子图、最大密度子图
          • [ ] 混合图欧拉回路
          • [ ] 平面图
      • [ ]9、支配树*
      • [ ] 10、分数规划*
      • [ ] 11、基环树、仙人掌图*
        • [ ]基环树
        • [ ] 仙人掌图问题、圆方树*
      • [ ] 12、弦图**
    • 五、数据结构
      • 1、线性数据结构
        • [ ] 队列与栈
        • [ ] 单调队列栈
        • [ ] 哈希表
        • [ ] 链表
        • [ ] 跳跃表 * 、跳舞链 * 、块状链表*
      • 2、并查集
        • [ ] 路径压缩、按秩合并
        • [ ] 权值并查集
      • 3、树论
        • [ ] 树与二叉树基本概念
        • [ ] 堆
          • [ ] 二叉堆、优先队列(STL)
          • [ ] 可并堆
        • [ ] LCA(倍增法、欧拉序+ST表、离线tarjan)
        • [ ] 树状数组
        • [ ] 线段树、权值线段树
          • [ ] 线段树启发式合并*
        • [ ] 平衡树*
          • [ ] treap、笛卡尔树
          • [ ] splay
          • [ ] 替罪羊
          • [ ] 非旋treap
          • [ ] 胜者树
        • [x ] 树上信息维护
          • [ ] 树链剖分
            • [ ] 重轻链剖分
            • [ ] 长链剖分*
            • [ ] dfs序、树上差分
        • [ ] 可持久化
          • [ ] 可持久化链表
          • [ ] 主席树
          • [ ] 可持久化treap*
          • [ ]可持久化trie*
        • [ ] 树套树*
        • [ ] 虚树
    • [ ] 六、根号算法
      • [ ] 1、分块
      • [ ] 2、莫队算法
      • [ ]3、树上莫队*
      • [ ] 4、树分块
    • 七、字符串算法
      • [ ] 1、kmp
      • [ ] 2、trie
      • [ ] 3、AC自动机*
      • [ ] 4、manacher(马拉车)
      • [ ] 5、后缀数组*
      • [ ]6、后缀自动机*
      • [ ] 7、回文自动机
    • 八、数学
      • [ ]1、数论
        • [ ]逆元
        • [ ] gcd、exGCD
        • [ ] 筛法
        • [ ] 埃氏筛
        • [ ]线性筛
        • [ ]杜教筛*
        • [ ] min_25和洲阁筛*
        • [ ]素数相关
          • [ ] 费马小定理及其用途
          • [ ]欧拉定理
          • [ ]Miller-Rabin判断素数*
          • [ ]Pollard-Rho*
        • [ ] 同余问题
          • [ ]同余方程求解
          • [ ]中国剩余定理、excrt
          • [ ] 二次剩余*
          • [ ]BSGS\exBSGS*
          • [ ]n次剩余*
        • [ ]积性函数*
          • [ ] 迪尼克卷积
          • [ ] 莫比乌斯反演
      • [ ] 2、组合数学
        • [ ]计数原理
        • [ ] 排列与组合
          • [ ]组合数取模、lucas*、exlucas*
        • [ ] 鸽笼原理
        • [ ] 容斥原理
        • [ ] 生成函数*
        • [ ] 常见递推式
          • [ ]catalan数
          • [ ]stirling数
      • [ ] 3、群论
        • [ ]置换群
        • [ ]拟阵
        • [ ]polya定理
      • [ ] 4、矩阵
        • [ ] 矩阵基本运算
        • [ ]矩阵快速幂
        • [ ]高斯消元
        • [ ]Matrix-Tree定理*
      • [ ] 5、博弈论
      • [ ]6、微积分初步*
      • [ ]7、多项式
        • [ ] FFT\NTT
        • [ ]fwt\fmt
        • [ ]拉格朗日插值
      • [ ]8、线性规划*
    • 九、计算几何*
      • [ ] 点线、矢量等基本运算
      • [ ]凸包
      • [ ] 半平面交
      • [ ] 离散化扫描法
      • [ ] 旋转卡壳
      • [ ] 动态凸包
      • [ ]圆与球的相关计算
      • [ ]三维计算几何
      • [ ]多边形
      • [ ] Simpson积分
    • 十、其他算法
      • [ ] 打表法
      • [ ]遗传算法!

一、基础知识

1、STL,参见百科STL总结

  • set(multiset)、map(multimap)、deque、vector、queue、stack、priority_queue、list、bitset
  • 算法:sort、nth_element、lower_bound、upper_bound、unique、reverse、random_shufle

2、常见技巧

  • 读入输出优化
  • 对拍、构造-生成数据
  • 离散化

二、基础算法

1、递归(输出方案)、枚举(优化)

[ ] 2、高精度

[ ] 高精度加法、减法、乘法、除法

3、分治

[ ] 二分答案

[ ] 排序算法

[ ] cdq分治*、整体二分

[ ] 树分治(点分治、边分治!、链分治*)

[ ] 动态点分治*

4、贪心

[ ] 常见贪心

​ 部分背包问题、最优装载问题、乘船问题、区间选点、活动安排、区间覆盖、流水作业、带期限任务调度、均分纸牌

[ ] 随机化贪心!

[ ] 5、倍增法

[ ] 6、双指针

7、模拟

[ ] 约瑟夫问题

[ ] 模拟退火!

[ ] 8、搜索

[ ] dfs、bfs

[ ] 剪枝:折半搜索、可行剪枝、最优化剪枝

[ ] 双向搜索、A* 搜索、迭代加深、IDA*

三、动态规划

[ ] 1、背包类dp

[ ] 2、LIS,LCS、编辑距离

[ ] 3、区间dp

[ ] 4、最大字段和

[ ] 5、最大子矩阵、悬线法

[ ] 6、树形DP

[ ] 树上背包问题
[ ] 树的直径、重心
[ ] 换根法
[ ] 其他延展

[ ] 7、数位dp

[ ] 8、状压dp

[ ] 9、计数类DP

[ ] 10、概率与期望

[ ] 11、插头/轮廓线(*)

12、DP优化

[ ] 单调队列优化
[ ] 数据结构优化
[ ] 斜率优化
[ ] 四边形不等式优化(*)

四、图论

[ ] 1、图论基础

[ ] 图的储存(矩阵、前向星、vector、边目录)

[ ] 图的遍历(DFS/BFS)

[ ] 2、欧拉路

[ ] 3、最短路

[ ] floyd及应用

[ ] dijkstra、spfa

[ ] 次短路、最短路计数等应用

[ ] 差分约束

4、生成树

[ ] 最小生成树(prime、kruskal)

[ ] 次小生成树、度限制生成树(*)

[ ] 生成树计数(*)

[ ] 最小树形图(*)

[ ] 最优比例生成树

[ ] kruskal重构树(*)

[ ] Steiner Tree*

5、连通性问题

[ ] 割点割桥、边/点双连通

[ ] 有向图强连通(tarjan\korasaju)

[ ] 2-SAT

[ ] 最小点基*

6、拓扑排序

[ ] 拓扑上dp

[ ] 拓扑序字典序

7、二分图匹配

[ ] 匈牙利算法

[ ] 常见匹配问题及转换

[ ] 带权最优匹配

8、网络流*

[ ] 最大流算法(dinic\isap\HLPP(**))

[ ] 最小割

[ ] 费用流

[ ] 常见问题

[ ] 网络流解决二分图问题
[ ] 上下界可行流、费用流
[ ]最大权闭合子图、最大密度子图
[ ] 混合图欧拉回路
[ ] 平面图

[ ]9、支配树*

[ ] 10、分数规划*

[ ] 11、基环树、仙人掌图*

[ ]基环树

[ ] 仙人掌图问题、圆方树*

[ ] 12、弦图**

五、数据结构

1、线性数据结构

[ ] 队列与栈

[ ] 单调队列栈

[ ] 哈希表

[ ] 链表

[ ] 跳跃表 * 、跳舞链 * 、块状链表*

2、并查集

[ ] 路径压缩、按秩合并

[ ] 权值并查集

3、树论

[ ] 树与二叉树基本概念

[ ] 堆

[ ] 二叉堆、优先队列(STL)
[ ] 可并堆

[ ] LCA(倍增法、欧拉序+ST表、离线tarjan)

[ ] 树状数组

[ ] 线段树、权值线段树

[ ] 线段树启发式合并*

[ ] 平衡树*

[ ] treap、笛卡尔树
[ ] splay
[ ] 替罪羊
[ ] 非旋treap
[ ] 胜者树

[x ] 树上信息维护

[ ] 树链剖分
[ ] 重轻链剖分
[ ] 长链剖分*
[ ] dfs序、树上差分

[ ] 可持久化

[ ] 可持久化链表
[ ] 主席树
[ ] 可持久化treap*
[ ]可持久化trie*

[ ] 树套树*

[ ] 虚树

[ ] 六、根号算法

[ ] 1、分块

[ ] 2、莫队算法

[ ]3、树上莫队*

[ ] 4、树分块

七、字符串算法

[ ] 1、kmp

[ ] 2、trie

[ ] 3、AC自动机*

[ ] 4、manacher(马拉车)

[ ] 5、后缀数组*

[ ]6、后缀自动机*

[ ] 7、回文自动机

八、数学

[ ]1、数论

[ ]逆元

[ ] gcd、exGCD

[ ] 筛法

[ ] 埃氏筛

[ ]线性筛

[ ]杜教筛*

[ ] min_25和洲阁筛*

[ ]素数相关

[ ] 费马小定理及其用途
[ ]欧拉定理
[ ]Miller-Rabin判断素数*
[ ]Pollard-Rho*

[ ] 同余问题

[ ]同余方程求解
[ ]中国剩余定理、excrt
[ ] 二次剩余*
[ ]BSGS\exBSGS*
[ ]n次剩余*

[ ]积性函数*

[ ] 迪尼克卷积
[ ] 莫比乌斯反演

[ ] 2、组合数学

[ ]计数原理

[ ] 排列与组合

[ ]组合数取模、lucas*、exlucas*

[ ] 鸽笼原理

[ ] 容斥原理

[ ] 生成函数*

[ ] 常见递推式

[ ]catalan数
[ ]stirling数

[ ] 3、群论

[ ]置换群

[ ]拟阵

[ ]polya定理

[ ] 4、矩阵

[ ] 矩阵基本运算

[ ]矩阵快速幂

[ ]高斯消元

[ ]Matrix-Tree定理*

[ ] 5、博弈论

[ ]6、微积分初步*

[ ]7、多项式

[ ] FFT\NTT

[ ]fwt\fmt

[ ]拉格朗日插值

[ ]8、线性规划*

九、计算几何*

[ ] 点线、矢量等基本运算

[ ]凸包

[ ] 半平面交

[ ] 离散化扫描法

[ ] 旋转卡壳

[ ] 动态凸包

[ ]圆与球的相关计算

[ ]三维计算几何

[ ]多边形

[ ] Simpson积分

十、其他算法

[ ] 打表法

[ ]遗传算法!

你可能感兴趣的:(总结文章)