竞赛 / 知识手册
个人知识手册
知识、推导、例题与实现。
知识目录
13 个大类 · 455 个条目- 12
比赛相关
梳理备赛规划、赛事规则、题型特点与实现细节,把学习安排、赛场检查和出题验证串成一条完整的参赛路径。
- 36
工具软件
汇集竞赛中的编辑、编译、调试、评测、出题与文档工具。C++ 实践可从命令行、编译器和调试入手,也可按需查阅各平台编辑器、LaTeX 与 Git。
- 41
语言基础
围绕 ICPC/CCPC 的 C++ 实战,梳理基础语法、标准库与进阶特性,关注数值边界、容器复杂度和编译环境;兼顾 Pascal、Python、Java 的语言差异与适用场景。
- 26
算法基础
围绕基础解题方法、复杂度与排序建立知识索引,并接入已有实验和比赛笔记。
- 12
搜索
从状态、转移与终止条件建立搜索模型,用 DFS 探索分支、BFS 求等代价转移下的最少步数;再按状态规模与目标结构学习双向搜索、启发式估价、迭代加深、回溯和剪枝。优化前先说明哪些状态可以合并、哪些分支可以舍弃。
- 22
动态规划
先写清状态含义、转移依赖与初始边界,再按问题结构选择背包、区间、树形、状压或数位等模型。计数与概率问题还需明确累加对象;优化则从状态数和转移代价入手,先证明可用性质,再选择维护方法。
- 22
字符串
先区分连续子串与可跳过字符的子序列,再按问题选择工具:单模式匹配读 KMP 与 Z 函数,多模式匹配读 Trie 与 AC 自动机;子串统计走后缀结构,回文问题从 Manacher 与回文树入手,循环同构和重复结构再看最小表示法、Lyndon 分解与 Main–Lorentz 算法。
- 113
数学
从整数运算与计数出发,按问题中的同余、代数结构、随机性与精度要求选择数学工具。先辨清定理的条件,再把推导落实为可验证的算法。
- 59
数据结构
从栈、队列与链表的操作契约出发,学习集合合并、优先级维护和区间查询,再进阶到平衡树、历史版本与动态树。选型时列清查询与修改,再比较时间、空间和实现成本。
- 61
图论
把对象与关系抽象为点和边,从存储、遍历与树的结构出发,逐步学习路径、连通性、生成树、网络流和匹配。建模时先辨明方向、权值与约束,再选择算法并检查复杂度。
- 15
计算几何
从点、向量与位置关系出发,先掌握距离计算和几何判定,再学习凸包、扫描线、旋转卡壳与半平面交;用最近点对、最小圆覆盖练习分治与随机增量。实现时先明确整数范围、浮点误差以及共线、重合等退化情形。
- 32
杂项
从端点单调性、询问顺序与状态表示出发,整理跨题型的解题方法;再按适用条件学习离线处理、随机化及精度与空间优化。
- 4
专题
围绕区间最值、连通分量、括号结构与离线操作组织专题,串联问题建模、数据结构选择和状态维护。
目录参照 OI Wiki,各知识点附原站参考链接。