合集-算法学习笔记
摘要:# 字符串Hash > 哈希是一个玄学的方法……最适骗分法 哈希,指将信息通过某种方式的缩减,映射到某一个值域上,从而表示这个信息。 如果有两个信息同时映射到了同一个位置,那么就会产生**哈希冲突**。 **哈希冲突**在哈希表中有两种处理方式: - 链表 - 质数后移(向后移动质数位,知道找到一个
阅读全文
摘要:# Trie树 Trie(字典树)是一种用于实现字符串检索的多叉树。 Trie的每一个节点都可以通过 `c` 转移到下一层的一个节点。 > 我们可以看作可以通过某个字符转移到下一个字符串状态,直到转移到最终态为止。这是后话…… 我们以插入了字符串 `ab`,`aa`,`b` 三个字符串的Trie树为
阅读全文
摘要:组合数学基础 本文部分运用到了生成函数的知识 如果直接食用本文结论,请忽略下列链接。 生成函数参考博客:普通型生成函数 - Ricky2007 - 博客园 我认为讲的不错 目录组合数学基础简单原理排列多重排列组合性质小练习二项式定理小练习范德蒙德卷积小练习扩展Lucas定理广义容斥与二项式反演 组合
阅读全文
摘要:OI中常用的四种平衡树细述:Treap,FHQ-Treap,Splay,WBLT。
前置知识:二叉搜索树的基本操作
阅读全文
摘要:树上启发式合并详解。
例题:CodeForces 600E 和一道我们考试的题
阅读全文
摘要:AC自动机 前置知识: 字典树:可以参考我的另一篇文章 算法学习笔记(15): Trie(字典树) KMP:可以参考 KMP - Ricky2007,但是不理解KMP算法并不会对这个算法的理解产生影响。 目录AC自动机使用场景算法思想与流程匹配的判断失配树的应用对状态的理解原树与失配树在自动机上 D
阅读全文
摘要:# 平衡树(二) > 平衡树(一)链接:[算法学习笔记(18): 平衡树(一) - jeefy - 博客园](https://www.cnblogs.com/jeefy/p/17204439.html) 本文中将讲述一下内容: - 可持久化Treap - 基于`Trie`的 *类* 平衡树(后文称之
阅读全文
摘要:逆序对与原序列 在《组合数学》中有这么一个从逆序列构建一个排列的过程……而刚好有一场考试有考了类似的问题,于是在此总结一下。 目录逆序对与原序列逆序列逆序个数带修改问题冒泡排序交换次数循环次数 逆序列 假定我们有序列 是 的一个排列。如果
阅读全文
摘要:# 马尔可夫链中的期望问题 > 这个问题是我在做 [[ZJOI2013] 抛硬币 - 洛谷](https://www.luogu.com.cn/problem/P3334) 这道题的时候了解的一个概念。 > > 在网上也只找到了一篇相关的内容:[# 马尔可夫链中的期望问题](https://zhua
阅读全文
摘要:狄利克雷卷积和莫比乌斯反演 看了《组合数学》,再听了学长讲的……感觉三官被颠覆…… 目录狄利克雷卷积和莫比乌斯反演狄利克雷卷积特殊的函数函数之间的关系除数函数和幂函数欧拉函数和恒等函数莫比乌斯函数和欧拉函数狄利克雷卷积的逆元莫比乌斯函数与莫比乌斯反演求法数论分块(整除分块)莫比乌斯反演的经典结构结构
阅读全文
摘要:矩阵树定理 本文不作为教学向文章。 比较好的文章参考: 矩阵树-定理以及凯莱公式 【学习笔记】矩阵树定理(Matrix-Tree)_繁凡さん的博客-CSDN博客 矩阵树定理入土 - ixRic 的博客 - 洛谷博客 对于无向图 无向图中应该是矩阵树定理的常用场景。 无向图的矩阵树定理讲的是: \[\
阅读全文
摘要:本文不宜初学用。 后缀排序 开篇膜拜 Pecco:算法学习笔记(84): 后缀数组 - 知乎 (zhihu.com) 有些时候,其实 的排序也挺好。又短又简单。 其中 表示从第 个字符开始的后缀的排名, 表示排名为
阅读全文
摘要:筛法 冷静分析:CMD 的博客 线性筛 线性筛是个好东西。一般来说,可以在 内处理几乎所有的积性函数。 还可以 找出所有的质数……(废话 杜教筛 放在偏序关系 中卷积…… 如何快速的求 \(S(n) = \sum_{i = 1}^n f(i
阅读全文
摘要:分块 这是一种基于根号的算法,核心为大块标记,散块暴力,做到复杂度的平衡。 可能第一个想到于此相关的就是莫队吧,这是利用分块优化暴力的方法。 目录分块Rmq Problem / mex[国家集训队] 排队 - 洛谷[TJOI2009] 开关 - 洛谷[Violet] 蒲公英 - 洛谷小小总结 Rmq
阅读全文
摘要:Kruskal 重构树 这是一种用于处理与最大/最小边权相关的一个数据结构。 其与 kruskal 做最小生成树的过程是类似的,我们考虑其过程: 按边权排序,利用并查集维护连通性,进行合并。 如果我们在合并时,新建一个节点,其权值为当前处理的边的权值,并将合并的两个节点都连向新建的节点,那么就可以得
阅读全文
摘要:李超线段树是一种按照值域维护一次函数最值的数据结构,其核心在于一次函数和值域的双单调性。 如果预先对于值域离散也可以维护其最值。 也就是说只要满足时一次函数,以及下标的单调性都可以利用李超线段树维护。 李超线段树就是利用线段树来维护一次函数的最值,每一个结点对应了一个区间 。 我
阅读全文
摘要:分治 分治,分而治之,是通过减少数据规模,然后合并的结果,从而减少复杂度的思想。 例如线段树,就是经典的分治思想的体现。 而本文所讲的分治,是几种经典的分治方法,或者说思想,其一般用于离线问题上。 目录分治分治的类型与适用范围序列分治对于询问的分治猫树分治最值分治参考文献 分治的类型与适用范围 序列
阅读全文