摘要:
由于刚开始启用博客,故博文较少,后面会不断进行补充完善。 基本只会更新省选及以上算法qwq。 $1.$ 理论 数据结构: 【理论】整体二分思想 【理论】长链剖分方法 【理论】左偏树笔记 数学: 【理论】Miller Rabin 和 Pollard's rho 算法 【理论】二维凸包求法 【理论】博弈 阅读全文
摘要:
证明鸽了,所以先开始应用篇。 对于一元多项式 $F,G$ 我们有 Lagrange 反演公式: $$n[x^n]F^k=k[w^{-k}]G^{-n}$$ 绝大多数情况我们都取 $k=1$。 其中多项式 $G$ 为 $F$ 的复合逆,即其满足 $G(F(x))=x$。 例 $1$:P2767 树的数 阅读全文
摘要:
两种算法结合后可在 $O(n^{0.25})$ 的时间复杂度内完成对一个数的质因数分解。 Miller Rabin 算法 该算法通过随机化的方式快速判定一个数是否为质数。 考虑朴素地依靠费马小定理判断一个数 $p$ 是否为质数,即随机几个数 $a\in[1,p)$,检测它们是否满足 $a^{p-1} 阅读全文
摘要:
左偏树是可并堆的一种实现方法。 左偏,很容易形象地理解它是什么意思。 但对于一棵树,如何用形象和具体化的语言来描述左偏性质? 考虑定义 $dis_i$ 表示 $i$ 的子树中最近的空节点理 $i$ 点的距离。 空节点是什么意思?由于左偏树是一棵二叉树,所以一个点没有左儿子/右儿子,其实可以看做其有一 阅读全文
摘要:
本文仅介绍 Andrew 算法。 考虑一个凸包的本质是什么?~~是由一个上凸壳和下凸壳组合形成的多边形~~ 你说的对,但是上凸壳和下凸壳的本质又是什么? 是一堆斜率单调的直线。 凸包求法似乎呼之欲出了。 我们要采取增量法,所以我们需要有一个加入点并动态维护之的顺序,我们先将所有点按 $x$ 坐标排序 阅读全文
摘要:
我们学过重链剖分,它的划分方法是对于每个点 $x$ 与其子树中大小最大的儿子 连边,由此形成若干条重链。 而长链剖分的划分和其大体上一致。 定义一个点的延伸深度为其子树内深度最大的点的深度。 则长链剖分的划分方法是对于每个点 $x$ 与其子树中延伸深度最大的点连边,由此形成若干条长链。 长链的性质可 阅读全文
摘要:
子集卷积问题即对于每一个二进制集合 $S(|S|\leq n)$,求出: $$C_S=\sum_{T\in S}A_TB_{S\operatorname{xor}T}$$ 不难发现其等价于: $$C_S=\sum_{T1|T2=S,|T1|+|T2|=|S|}A_{T1}B_{T2}$$ 如果只有第 阅读全文
摘要:
FWT 处理的是位运算卷积问题。 其解决的问题是对于长度为 $2^n$ 的数组 $A[0\sim2^n-1],B[0\sim2^n-1]$,求出数组 $C$ 使得其满足: $$C_k=\sum_{i\oplus j=k}A_iB_j$$ 其中 $\oplus$ 是一种位运算,一般为 $\operat 阅读全文
摘要:
整体二分是解决数据结构问题的一种重要方式。 二分是较为基础的内容,在此不作提及,我们直接从一个数据结构问题的角度引入。 现在有一个数据结构问题,其维护的结构的大小为 $n$,有 $q$ 个询问,且询问的答案具有可二分性,则整体二分的过程如下。 首先将所有询问离线,然后设函数 $solve(S,l,r 阅读全文
摘要:
本文讲述的均为双人公平组合游戏。 即满足: 对于同一个状态 $G$,两个人的可能行动集合是相同的,两个人轮流行动。 两个人都知道这个游戏的所有信息,包括实时的状态,对方的操作等。 每一步操作具有确定性,不包含随机成分。 一定能够分出胜负,即无平局。 同时,一般来说默认两个人都绝顶聪明,一切操作以自己 阅读全文