“算法学习笔记”
算法学习笔记10——康托展开
算法学习笔记(10): 康托展开 可以求一个组合的全排列的名次 比如:对于序列1,2,3 则序列排名为 1 2 3;1 3 2; 2 1 3; 2 3 1; 3 1 2; 3 2 1 这个排...
算法学习笔记9——后缀数组
算法学习笔记(9): 后缀数组 定义 后缀数组是对后缀的一个排序,每个后缀按照字典序进行排序,然后用两个数组来映射它们自己和它们的排名。 同时,为了便于记录后缀,我们记字符串s的后缀s[i:]记...
算法学习笔记8——同余
算法学习笔记(8): 同余 前置知识: 整除:当 A / B 为一个整数, 则称 B 整除 A 符号记作:B|A 同余:同余是一种二元关系,需要第三者作为模也就是 A % p == B % p...
算法学习笔记7——根号分治
算法学习笔记(7): 根号分治 根号分治是一种对暴力的优化,类似于一种优雅的暴力。 对于一个问题的解决,我们可能有多种暴力的思路,但对于暴力思路A来说,空间占用过大。对于暴力思路B来说,时间占用...
算法学习笔记6——ST表
算法学习笔记(6): Sparse Table (ST 表) 简介 ST 表 是一个数据结构,用于计算RMQ问题,其思想基于动态规划 RMQ问题 RMQ即Range Minimum / Maxi...
算法学习笔记5——异或哈希
算法学习笔记(5): 异或哈希 简介 异或哈希主要利用了异或操作的特殊性,再从特殊性出发,解决阻挡特殊性的问题。 异或操作的特殊性 异或操作是对数字的二进制表示按位相加并对2取余,它的运算十分高...
算法学习笔记4——莫比乌斯反演前置知识
算法学习笔记(4): 莫比乌斯反演前置知识 数论函数 定义在所有正整数上的函数被称为算数函数(数论函数) 积性函数 当函数f属于数论函数,且 对于任意互质的正整数p,q 有f(pq) = f...
算法学习笔记3——快速傅里叶变换(FFT)
算法学习笔记3——快速傅里叶变换(FFT) 问题: 内容:对于两个多项式快速取得两个多项式的乘积。 对于最基本的解法,便是通过分配率将两个多项式中的每一项都相乘,然后取得计算结果。 对于两个n项...
算法学习笔记2——基环树&字典树
算法学习笔记(2): 基环树&字典树 基环树 若一个图有n个节点,n-1条边,那么这个图一定无环,此时若再增加一条边,必定会出现一条环。 由此可得 n个节点,n条边,必定有个环,去掉这个...
算法学习笔记1——极角排序
算法学习笔记1——极角排序 基础含义 对于一个平面的多个点,选择一个点作为极点O,再从O出去一条射线定为极轴OX(一般把X轴正半轴作为极轴),对于每个平面上的点我们有一种新的表示方法:极坐标(γ...