摘要:
OI中常用的四种平衡树细述:Treap,FHQ-Treap,Splay,WBLT。
前置知识:二叉搜索树的基本操作 阅读全文
摘要:
快速傅里叶变换详解 阅读全文
摘要:
网络最大流算法 EK, Dinic, ISAP 详解 阅读全文
摘要:
逆元详解,欧拉函数及欧拉定理,线性求逆元,阶乘逆元的方法。 阅读全文
摘要:
树上最近公共祖先(LCA)三种求法:倍增,DFS+ST表,熟练剖分 阅读全文
摘要:
AC自动机 前置知识: 字典树:可以参考我的另一篇文章 算法学习笔记(15): Trie(字典树) ~~KMP~~:可以参考 KMP - Ricky2007,但是不理解KMP算法并不会对这个算法的理解产生影响。 使用场景 AC自动机是一种著名的多模式匹配算法。 可以完成类似于KMP算法的工作,但是由 阅读全文
摘要:
树上启发式合并详解。
例题:CodeForces 600E 和一道我们考试的题 阅读全文
摘要:
博客修炼手册 本文总结了我一直来通过markdown写博客的一些经验和教训,仅供参考。 环境 我采用的是 MarkText + PicGo + Gitee/Gitlab 免费开源至上的路子。 这里讲述一下安装方法。 MarkText和PicGo都可以直接从Github上获取二进制版本 Release 阅读全文
摘要:
OI中常用的四种平衡树细述:Treap,FHQ-Treap,Splay,WBLT。
前置知识:二叉搜索树的基本操作 阅读全文
摘要:
快速傅里叶变换详解 阅读全文
摘要:
组合数学基础 本文部分运用到了生成函数的知识 如果直接食用本文结论,请忽略下列链接。 生成函数参考博客:普通型生成函数 - Ricky2007 - 博客园 我认为讲的不错 组合数学非常有用!我们先从一点点简单的性质开始 简单原理 加法原理 这非常简单,我们举一个例子即可:考虑我有 $5$ 个红苹果和 阅读全文
摘要:
Trie树 Trie(字典树)是一种用于实现字符串检索的多叉树。 Trie的每一个节点都可以通过 c 转移到下一层的一个节点。 我们可以看作可以通过某个字符转移到下一个字符串状态,直到转移到最终态为止。这是后话…… 我们以插入了字符串 ab,aa,b 三个字符串的Trie树为例: 其实一看图就非常清 阅读全文
摘要:
Manacher算法 形象的被译为马拉车算法 这个算法用于处理简单的回文字符串的问题。可以在 $O(n)$ 的复杂度内处理出每一个位置为中心的回文串的最长长度。 为了避免出现偶数长度的回文串,导致过多的分类讨论,我们预处理一下字符串。 例如:jeefy 我们可以预处理成 ^#j#e#e#f#y#$。 阅读全文
摘要:
字符串Hash 哈希是一个玄学的方法……最适骗分法 哈希,指将信息通过某种方式的缩减,映射到某一个值域上,从而表示这个信息。 如果有两个信息同时映射到了同一个位置,那么就会产生哈希冲突。 哈希冲突在哈希表中有两种处理方式: 链表 质数后移(向后移动质数位,知道找到一个空的地方为止) 但是,在OI中, 阅读全文
摘要:
线性基 熟练掌握异或运算是食用本文的大前提,请读者留意 是什么? 是一种利用线性代数的知识,用于解决异或问题的一种手段(不能算作数据结构吧这) 本文并不会涉及到线性代数。而是从OI基础算法思想的角度阐释线性基。尽管这可能违背了设计该方法的初衷。 一般来说,预处理的时间复杂度为 $O(kn)$ 其中 阅读全文