+++ /dev/null
-# Project Information
-site_name: OI Wiki
-site_description: OI Wiki 是一个编程竞赛知识整合站点,提供有趣又实用的编程竞赛知识以及其他有帮助的内容,帮助广大编程竞赛爱好者更快更深入地学习编程竞赛
-site_author: OI Wiki Team
-site_url: https://oi-wiki.org
-strict: true
-
-# Repository
-repo_name: 'OI-wiki/OI-wiki'
-repo_url: 'https://github.com/OI-wiki/OI-wiki'
-edit_uri: 'blob/master/docs/'
-
-# Copyright
-copyright: 'Copyright © 2016 - 2019 OI Wiki Team'
-google_analytics:
- - 'UA-124485594-1'
- - 'auto'
-
-# Contents
-nav:
- - 简介:
- - Getting Started: index.md
- - OI 赛事与赛制: intro/oi.md
- - ICPC/CCPC 赛事与赛制: intro/icpc.md
- - 学习路线: intro/roadmap.md
- - 学习资源: intro/resources.md
- - 常见错误: intro/common-mistakes.md
- - 常见技巧: intro/common-tricks.md
- - 非传统题: intro/non-trad.md
- - 工具软件:
- - 评测工具: intro/judgers.md
- - 编辑工具:
- - Vim: intro/editor/vim.md
- - Emacs: intro/editor/emacs.md
- - VS Code: intro/editor/vscode.md
- - Atom: intro/editor/atom.md
- - Eclipse: intro/editor/eclipse.md
- - Notepad++: intro/editor/npp.md
- - Dev-C++: intro/editor/devcpp.md
- - WSL (Windows 10): intro/wsl.md
- - Special Judge: intro/spj.md
- - Testlib:
- - Testlib 简介: intro/testlib/index.md
- - 通用: intro/testlib/general.md
- - Generator: intro/testlib/generator.md
- - Validator: intro/testlib/validator.md
- - Interactor: intro/testlib/interactor.md
- - Checker: intro/testlib/checker.md
- - OJ 工具: intro/oj-tool.md
- - LaTeX 入门: intro/latex.md
- - Docker 部署: intro/docker-deploy.md
- - 关于本项目: intro/about.md
- - 如何参与: intro/htc.md
- - F.A.Q.: intro/faq.md
- - 致谢: intro/thanks.md
- - 语言基础:
- - C++ 基础:
- - Hello, World!: lang/helloworld.md
- - C++ 语法基础: lang/basic.md
- - 变量: lang/var.md
- - 运算: lang/op.md
- - 数组: lang/array.md
- - 结构体: lang/struct.md
- - 指针: lang/pointer.md
- - 分支: lang/branch.md
- - 循环: lang/loop.md
- - 函数: lang/func.md
- - 文件操作: lang/file-op.md
- - C++ 标准库:
- - C++ 标准库简介: lang/csl/index.md
- - STL 容器:
- - STL 容器简介: lang/csl/container.md
- - 迭代器: lang/csl/iterator.md
- - 序列式容器: lang/csl/sequence-container.md
- - 关联式容器: lang/csl/associative-container.md
- - 无序关联式容器: lang/csl/unordered-container.md
- - 容器适配器: lang/csl/container-adapter.md
- - STL 算法: lang/csl/algorithm.md
- - bitset: lang/csl/bitset.md
- - string: lang/csl/string.md
- - C++ 进阶:
- - 类: lang/class.md
- - 新版 C++ 特性: lang/new.md
- - pb_ds:
- - pb_ds 简介: lang/pb-ds/index.md
- - 堆: lang/pb-ds/pq.md
- - 平衡树: lang/pb-ds/tree.md
- - Pascal 转 C++ 急救: lang/pas-cpp.md
- - Python 速成: lang/python.md
- - Java 速成: lang/java.md
- - 思想方法:
- - 思想方法简介: basic/index.md
- - 枚举: basic/enumerate.md
- - 模拟: basic/simulate.md
- - 递归 & 分治: basic/divide-and-conquer.md
- - 贪心: basic/greedy.md
- - 排序:
- - 排序简介: basic/sort-intro.md
- - 选择排序: basic/selection-sort.md
- - 冒泡排序: basic/bubble-sort.md
- - 插入排序: basic/insertion-sort.md
- - 计数排序: basic/counting-sort.md
- - 基数排序: basic/radix-sort.md
- - 快速排序: basic/quick-sort.md
- - 归并排序: basic/merge-sort.md
- - 堆排序: basic/heap-sort.md
- - 桶排序: basic/bucket-sort.md
- - 希尔排序: basic/shell-sort.md
- - 排序相关 STL: basic/stl-sort.md
- - 排序应用: basic/use-of-sort.md
- - 二分: basic/binary.md
- - 倍增: basic/binary-acc.md
- - 构造: basic/construction.md
- - 前缀和 & 差分: basic/prefix-sum.md
- - 搜索:
- - 搜索部分简介: search/index.md
- - DFS(搜索): search/dfs.md
- - BFS(搜索): search/bfs.md
- - 双向搜索: search/bidirectional.md
- - 启发式搜索: search/heuristic.md
- - A*: search/astar.md
- - 迭代加深搜索: search/iterative.md
- - IDA*: search/idastar.md
- - 回溯法: search/backtracking.md
- - Dancing Links: search/dlx.md
- - 优化: search/opt.md
- - 动态规划:
- - 动态规划部分简介: dp/index.md
- - 记忆化搜索: dp/memo.md
- - 背包 DP: dp/knapsack.md
- - 区间 DP: dp/interval.md
- - DAG 上的 DP: dp/dag.md
- - 树形 DP: dp/tree.md
- - 状压 DP: dp/state.md
- - 数位 DP: dp/number.md
- - 插头 DP: dp/plug.md
- - 计数 DP: dp/count.md
- - DP 优化:
- - 二进制分组解多重背包: dp/opt/binary-knapsack.md
- - 单调队列/单调栈优化: dp/opt/monotonous-queue-stack.md
- - 斜率优化: dp/opt/slope.md
- - 四边形不等式优化: dp/opt/quadrangle.md
- - 状态设计优化: dp/opt/state.md
- - 其它 DP 方法: dp/misc.md
- - 字符串:
- - 字符串部分简介: string/index.md
- - 标准库: string/lib-func.md
- - 字符串匹配: string/match.md
- - 哈希: string/hash.md
- - 前缀函数与 KMP 算法: string/kmp.md
- - Z 函数(扩展 KMP): string/z-func.md
- - 字典树 (Trie): string/trie.md
- - 回文自动机: string/pam.md
- - 后缀数组 (SA): string/sa.md
- - AC 自动机: string/ac-automaton.md
- - 后缀自动机 (SAM): string/sam.md
- - 后缀树: string/suffix-tree.md
- - Manacher: string/manacher.md
- - 最小表示法: string/minimal-string.md
- - Lyndon 分解: string/lyndon.md
- - 数学:
- - 数学部分简介: math/index.md
- - 基础知识:
- - 向量: math/vector.md
- - 复数: math/complex.md
- - 极坐标系: math/polar-coordinate.md
- - 位运算: math/bit.md
- - 快速幂: math/quick-pow.md
- - 数论与数论函数:
- - 整除及其性质:
- - 素数: math/prime.md
- - 最大公约数: math/gcd.md
- - 欧拉函数: math/euler.md
- - 筛法: math/sieve.md
- - 欧拉定理 & 费马小定理: math/fermat.md
- - 类欧几里德算法: math/euclidean.md
- - 同余与同余方程:
- - 裴蜀定理: math/bezouts.md
- - 乘法逆元: math/inverse.md
- - 线性同余方程: math/linear-equation.md
- - 中国剩余定理: math/crt.md
- - BSGS: math/bsgs.md
- - 原根: math/primitive-root.md
- - 卢卡斯定理: math/lucas.md
- - 进位制: math/base.md
- - 数论函数:
- - 莫比乌斯反演: math/mobius.md
- - 杜教筛: math/du.md
- - Min_25 筛: math/min-25.md
- - 多项式:
- - 多项式部分简介: math/poly/intro.md
- - 拉格朗日插值: math/poly/lagrange.md
- - 快速傅里叶变换: math/poly/fft.md
- - 快速数论变换: math/poly/ntt.md
- - 快速沃尔什变换: math/poly/fwt.md
- - 多项式求逆: math/poly/inv.md
- - 多项式开方: math/poly/sqrt.md
- - 多项式除法|取模: math/poly/div-mod.md
- - 多项式对数函数|指数函数: math/poly/ln-exp.md
- - 多项式牛顿迭代: math/poly/newton.md
- - 多项式多点求值|快速插值: math/poly/multipoint-eval-interpolation.md
- - 多项式三角函数: math/poly/tri-func.md
- - 多项式反三角函数: math/poly/inv-tri-func.md
- - 线性代数:
- - 矩阵: math/matrix.md
- - 高斯消元: math/gauss.md
- - 线性基: math/basis.md
- - 抽象代数:
- - 置换群: math/permutation-group.md
- - 组合数学:
- - 排列组合: math/combination.md
- - 卡特兰数: math/catalan.md
- - 斯特林数: math/stirling.md
- - 康托展开: math/cantor.md
- - 容斥原理: math/inclusion-exclusion-principle.md
- - 抽屉原理: math/drawer-principle.md
- - 概率 & 期望: math/expectation.md
- - 线性规划:
- - 线性规划简介: math/linear-programming.md
- - 单纯形算法: math/simplex.md
- - 博弈论:
- - 博弈论简介: math/game-theory.md
- - 常用算法与应试技巧:
- - 牛顿迭代法: math/newton.md
- - 数值积分: math/integral.md
- - 高精度计算:
- - 高精度概述: math/bignum.md
- - 分段打表: math/dictionary.md
- - 斐波那契数列: math/fibonacci.md
- - 数据结构:
- - 数据结构部分简介: ds/index.md
- - 栈: ds/stack.md
- - 队列: ds/queue.md
- - 链表: ds/linked-list.md
- - 哈希表: ds/hash.md
- - 并查集: ds/dsu.md
- - 堆:
- - 堆简介: ds/heap.md
- - 二叉堆: ds/binary-heap.md
- - 配对堆: ds/pairing-heap.md
- - 左偏树: ds/leftist-tree.md
- - 块状数据结构:
- - 分块思想: ds/decompose.md
- - 树分块: ds/tree-decompose.md
- - 块状链表: ds/block-list.md
- - 块状数组: ds/block-array.md
- - Sqrt Tree: ds/sqrt-tree.md
- - 单调栈: ds/monotonous-stack.md
- - 单调队列: ds/monotonous-queue.md
- - ST 表: ds/sparse-table.md
- - 树状数组: ds/bit.md
- - 线段树: ds/seg.md
- - 线段树 & 区间历史最值: ds/seg-beats.md
- - 划分树: ds/dividing.md
- - 二叉搜索树 & 平衡树:
- - 二叉搜索树简介: ds/bst.md
- - Treap: ds/treap.md
- - Splay: ds/splay.md
- - WBLT: ds/wblt.md
- - Size Balanced Tree: ds/sbt.md
- - AVL 树: ds/avl.md
- - 替罪羊树: ds/sgt.md
- - 笛卡尔树: ds/cartesian-tree.md
- - 可持久化数据结构:
- - 可持久化数据结构简介: ds/persistent.md
- - 可持久化线段树: ds/persistent-seg.md
- - 可持久化块状数组: ds/persistent-block-array.md
- - 可持久化平衡树: ds/persistent-balanced.md
- - 可持久化字典树: ds/persistent-trie.md
- - 可持久化可并堆: ds/persistent-heap.md
- - 树套树:
- - 线段树套线段树: ds/seg-in-seg.md
- - 平衡树套线段树: ds/seg-in-balanced.md
- - 线段树套平衡树: ds/balanced-in-seg.md
- - 树状数组套主席树: ds/persistent-in-bit.md
- - K-D Tree: ds/kdt.md
- - 珂朵莉树: ds/odt.md
- - 动态树:
- - Link Cut Tree: ds/lct.md
- - Euler Tour Tree: ds/ett.md
- - Top Tree: ds/top-tree.md
- - 析合树: ds/divide-combine.md
- - 图论:
- - 图论部分简介: graph/index.md
- - 图论基础: graph/basic.md
- - DFS(图论): graph/dfs.md
- - BFS(图论): graph/bfs.md
- - 树上问题:
- - 树基础: graph/tree-basic.md
- - 最近公共祖先: graph/lca.md
- - 树的其他问题: graph/tree-misc.md
- - 树哈希: graph/tree-hash.md
- - 树链剖分: graph/hld.md
- - 树分治: graph/tree-divide.md
- - 动态树分治: graph/dynamic-tree-divide.md
- - 虚树: graph/virtual-tree.md
- - 树上启发式合并: graph/dsu-on-tree.md
- - 矩阵树定理: graph/matrix-tree.md
- - 有向无环图: graph/dag.md
- - 拓扑排序: graph/topo.md
- - 最小生成树: graph/mst.md
- - 最小树形图: graph/mdst.md
- - 最短路: graph/shortest-path.md
- - 差分约束: graph/diff-constraints.md
- - k 短路: graph/kth-path.md
- - 连通性相关:
- - 强连通分量: graph/scc.md
- - 双连通分量: graph/bcc.md
- - 割点和桥: graph/bridge.md
- - 2-SAT: graph/2-sat.md
- - 欧拉图: graph/euler.md
- - 哈密顿图: graph/hamilton.md
- - 二分图: graph/bi-graph.md
- - 最小环: graph/min-circle.md
- - 平面图: graph/planar.md
- - 图的着色: graph/color.md
- - 网络流:
- - 网络流简介: graph/flow.md
- - 拆点: graph/flow/node.md
- - 最大流: graph/flow/max-flow.md
- - 最小割: graph/flow/min-cut.md
- - 费用流: graph/flow/min-cost.md
- - 上下界网络流: graph/flow/bound.md
- - Prufer 序列: graph/prufer.md
- - 图论杂项: graph/misc.md
- - 计算几何:
- - 计算几何部分简介: geometry/index.md
- - 二维计算几何基础: geometry/2d.md
- - 三维计算几何基础: geometry/3d.md
- - 距离: geometry/distance.md
- - Pick 定理: geometry/pick.md
- - 三角剖分: geometry/triangulation.md
- - 凸包: geometry/convex-hull.md
- - 扫描线: geometry/scanning.md
- - 旋转卡壳: geometry/rotating-calipers.md
- - 半平面交: geometry/half-plane.md
- - 平面最近点对: geometry/nearest-points.md
- - 随机增量法: geometry/random-incremental.md
- - 计算几何杂项: geometry/misc.md
- - 杂项:
- - 杂项简介: misc/index.md
- - 读入、输出优化: misc/io.md
- - 复杂度: misc/complexity.md
- - 离散化: misc/discrete.md
- - 离线算法:
- - 离线算法简介: misc/offline.md
- - CDQ 分治: misc/cdq-divide.md
- - 整体二分: misc/parallel-binsearch.md
- - 莫队算法: misc/mo-algo.md
- - 分数规划: misc/frac-programming.md
- - 随机化:
- - 随机函数: misc/random.md
- - 爬山算法: misc/hill-climbing.md
- - 模拟退火: misc/simulated-annealing.md
- - 悬线法: misc/largest-matrix.md
- - 计算理论基础: misc/cc-basic.md
- - 字节顺序: misc/endianness.md
- - 约瑟夫问题: misc/josephus.md
- - Stern-Brocot 树与 Farey 序列: misc/stern-brocot.md
- - 格雷码: misc/gray-code.md
- - 表达式求值: misc/expression.md
- - 专题:
- - RMQ: topic/rmq.md
-
-# Theme
-theme:
- name: null
- custom_dir: 'mkdocs-material/material'
- static_templates:
- - 404.html
- language: 'zh'
- palette:
- primary: 'white'
- accent: 'red'
- include_search_page: false
- search_index_only: true
- favicon: 'favicon.ico'
-
- logo:
- icon: 'school'
- feature:
- tabs: true
- font:
- text: 'Fira Sans'
- code: 'Fira Mono'
-
-# Customization
-extra:
- search:
- language: 'jp'
- disqus: 'OI-Wiki'
- copyright: '<a href="https://creativecommons.org/licenses/by-sa/4.0/deed.zh">CC BY-SA 4.0</a> 和 <a href="https://github.com/zTrix/sata-license">SATA</a>'
- pagetime: 'on'
- manifest: 'manifest.webmanifest'
- githash: '530211c'
-
-extra_javascript:
- - '_static/js/extra.js?v=15'
-
-
-
-extra_css:
- - '_static/css/extra.css?v=12'
-
-# Extensions
-markdown_extensions:
- - admonition
- - codehilite:
- guess_lang: false
- linenums: true
- - def_list
- - footnotes
- - meta
- - toc:
- permalink: true
- - pymdownx.arithmatex
- - pymdownx.caret
- - pymdownx.critic
- - pymdownx.details
- - pymdownx.emoji:
- emoji_generator: !!python/name:pymdownx.emoji.to_svg
- - pymdownx.inlinehilite
- - pymdownx.keys
- - pymdownx.magiclink
- - pymdownx.mark
- - pymdownx.progressbar
- - pymdownx.smartsymbols
- - pymdownx.superfences:
- custom_fences:
- - name: math
- class: arithmatex
- format: !!python/name:pymdownx.arithmatex.fence_mathjax_format
- - pymdownx.tasklist:
- custom_checkbox: true
- - pymdownx.tilde