竞赛 / 知识手册

个人知识手册

知识、推导、例题与实现。

整场训练

知识目录

13 个大类 · 455 个条目
  1. 比赛相关

    梳理备赛规划、赛事规则、题型特点与实现细节,把学习安排、赛场检查和出题验证串成一条完整的参赛路径。

    12
  2. 工具软件

    汇集竞赛中的编辑、编译、调试、评测、出题与文档工具。C++ 实践可从命令行、编译器和调试入手,也可按需查阅各平台编辑器、LaTeX 与 Git。

    36
  3. 语言基础

    围绕 ICPC/CCPC 的 C++ 实战,梳理基础语法、标准库与进阶特性,关注数值边界、容器复杂度和编译环境;兼顾 Pascal、Python、Java 的语言差异与适用场景。

    41
  4. 算法基础

    围绕基础解题方法、复杂度与排序建立知识索引,并接入已有实验和比赛笔记。

    26
  5. 搜索

    从状态、转移与终止条件建立搜索模型,用 DFS 探索分支、BFS 求等代价转移下的最少步数;再按状态规模与目标结构学习双向搜索、启发式估价、迭代加深、回溯和剪枝。优化前先说明哪些状态可以合并、哪些分支可以舍弃。

    12
  6. 动态规划

    先写清状态含义、转移依赖与初始边界,再按问题结构选择背包、区间、树形、状压或数位等模型。计数与概率问题还需明确累加对象;优化则从状态数和转移代价入手,先证明可用性质,再选择维护方法。

    22
  7. 字符串

    先区分连续子串与可跳过字符的子序列,再按问题选择工具:单模式匹配读 KMP 与 Z 函数,多模式匹配读 Trie 与 AC 自动机;子串统计走后缀结构,回文问题从 Manacher 与回文树入手,循环同构和重复结构再看最小表示法、Lyndon 分解与 Main–Lorentz 算法。

    22
  8. 数学

    从整数运算与计数出发,按问题中的同余、代数结构、随机性与精度要求选择数学工具。先辨清定理的条件,再把推导落实为可验证的算法。

    113
  9. 数据结构

    从栈、队列与链表的操作契约出发,学习集合合并、优先级维护和区间查询,再进阶到平衡树、历史版本与动态树。选型时列清查询与修改,再比较时间、空间和实现成本。

    59
  10. 图论

    把对象与关系抽象为点和边,从存储、遍历与树的结构出发,逐步学习路径、连通性、生成树、网络流和匹配。建模时先辨明方向、权值与约束,再选择算法并检查复杂度。

    61
  11. 计算几何

    从点、向量与位置关系出发,先掌握距离计算和几何判定,再学习凸包、扫描线、旋转卡壳与半平面交;用最近点对、最小圆覆盖练习分治与随机增量。实现时先明确整数范围、浮点误差以及共线、重合等退化情形。

    15
  12. 杂项

    从端点单调性、询问顺序与状态表示出发,整理跨题型的解题方法;再按适用条件学习离线处理、随机化及精度与空间优化。

    32
  13. 专题

    围绕区间最值、连通分量、括号结构与离线操作组织专题,串联问题建模、数据结构选择和状态维护。

    4

目录参照 OI Wiki,各知识点附原站参考链接。

输入关键词开始搜索。