算法与数据结构学习笔记(目录)


设立本专栏的初衷在于,我意识到我学习过的很多算法,一段时间不使用就会被我遗忘,于是决定把学习这些算法的过程记录下来,也同时分享给其他有需要的人。

本专栏默认读者会使用基本的C++语言且掌握基本的贪心、搜索、动态规划思想(部分文章也会补充\(Python\)\(Java\) 代码)

当前文章记录数:89 + 16


方括号里的编号表示笔记中用到的前置算法(并不意味着该算法必须用到)。分类仅作参考,不一定准确。需要说明的是,因为作者的主攻题型具有偏向性和文章发布顺序问题,所以各种类型的笔记数量和编号很可能不平衡。

PS:专栏格式参考了 Pecco 学长,专栏内容来自很多人的支持,十分感谢!

关于算法模板(C++):

学习(复习)笔记:

感谢 OI wiki 社区的帮助!

如果文章存在阅读密码可以私聊获取

搜索和动态规划

动态规划在 ACM/OI 中的占比非常大。其变化众多,并没有普适性的方法,更多还需要靠实际练习来积累经验和技巧。

  • 资源

    • AtCoder Educational DP Contest,
  • 动态规划系列

    • 记忆化搜索

    • ,,

    • DAG上DP

    • 插头DP

    • 计数DP

    • 动态 DP

    • DP优化系列

      四边形不等式优化

      by Creed-qwq

    • DP技巧

  • 搜索与遍历

数据结构

  • ,单调队列①,

图论

  • 最短路系列

    • 更加详细的讲解请看下几篇博客

  • 最小生成树 & 次最小生成树

    • 概括了下面两篇文章

  • 连通图

  • 网络流

  • 二分图

  • 树的直径

数论

  • 筛法

    • 概括了杂项中的素数筛
    • 亚线性时间复杂度内求出 \(1~n\) 内质数个数的一种算法。
  • 博弈论

  • 模运算

    • 涵盖了逆元,费马小定理、中国剩余定理etc

    • 涵盖了费马小定理

  • 位运算

  • by luckyblock

  • 快速幂、组合数第二类斯特林数贝尔数递推Catalan数DP

字符串

  • 字符串匹配算法

多项式 & 线性代数

  • , (矩阵加速递推)

计算几何

  • 向量

其他

杂项(未分类?)

  • 数论区有筛法总结

相关