OI各类算法中的常见题型

以下给出OI学习过程中各种算法常见的一些题型,供复习时参考。(会持续更新)
按重要度、难度和常见程度排序(我眼中的),并给出几道参考训练题。
PS:有一小部分是自己想出来的题型,暂未在网上找到相关题目(将会标注用【*】出来)。
一、生成树相关问题:

  1. 最小生成树
  2. 最小生成树唯一性判定
  3. 含给定边的最小生成树
  4. 最小瓶颈生成树(最小瓶颈路)
  5. 次小生成树【LOJ10068】【BZOJ1977】
  6. 最短路径生成树【LOJ10064】
  7. 增量最小生成树
  8. 最小生成树计数【BZOJ1016】
  9. 最小差值生成树【洛谷P4234】
  10. 曼哈顿距离最小生成树

二、连续子段和相关问题:

  1. 最大子段和
  2. 长度不小于L的最大子段和
  3. 长度大小于L的最大子段和(方法和上一种并不一样)
  4. 【*】长度在[L,R]之间的最大子段和
  5. 最大子矩阵和
  6. 最大m子段和
  7. 最大k矩阵【LOJ2150】
  8. 均值最大的子段【POJ2018】
  9. 动态最大子段和(值会被动态地修改)【洛谷P4513】
  10. 区间最大子段和(每个查询给定l与r,回答[l,r]中的最大子段和)【洛谷P4513】
  11. 【*】删去原序列中的任意一段连续序列,使得剩余两段拼接起来后,最大子段和最大。

三、最短路相关问题:

  1. 单源最短路问题
  2. 多源单点最短路问题(将边反向求解最短路即可)
  3. 最短路计数问题(分为可经过重复的点与不可重复经过两种)
  4. 次短路问题(分为严格次短与不严格次短两种)
  5. 经过定点的最短路问题
  6. 经过恰好k个点的最短路问题
  7. 01BFS
  8. 最小环问题(Dijkstra算法与Floyed算法)
  9. 判断是否存在负环(正环)
  10. 双调最短路问题
  11. 【*】点与边均有权的最短路问题
  12. 有向无环图(DAG)上的最短路问题
  13. Floyed传递闭包

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