算法竞赛简介
从正确性证明到复杂度分析,从基本数据结构到图论、数论与计算几何。
本分类共 8 个章节、32 个知识点。展开左侧章节,或从下方目录选择一篇文章开始阅读。
学习路线
先学习复杂度、基础数据结构与搜索,再进入贪心和动态规划;图论、字符串与数学专题可以按题目需要交叉学习。每次实现都应说明成立条件,并检查边界输入。
复杂度与正确性
回答算法为什么正确,以及规模增长时需要多少时间和空间。
基础与高级数据结构
选择与操作需求匹配的数据组织方式。
排序、查找与搜索
从有序性和状态空间中减少无效工作。
贪心与动态规划
区分局部选择可证明最优的问题与需要保存子问题状态的问题。
图论、网络流与树
把关系、依赖、路径、分配和层次结构统一为图模型。
字符串算法
利用前后缀、自动机和后缀结构处理文本匹配与重复。
数论、组合与多项式
在整除、同余、计数和卷积结构上设计高效算法。
计算几何与专题
在精度、退化情况和几何谓词之间取得可靠实现。