01 2025 档案
摘要:\(\text{杜教筛学习笔记}\) 对于数论函数 \(f\),想求出 \(S(n)=\sum_{i=1}^nf(i)\) 采用线性筛的时间复杂度是 \(O(n)\)。采用杜教筛,可以将时间复杂度优化至亚线性时间复杂度。准确地说,是 \(O(n^{\frac 23})\)。 算法思想 对于数论函数
阅读全文
摘要:\(常见数论函数及狄利克雷卷积与莫比乌斯反演 学习笔记\) 数论函数 数论函数指的是定义域为正整数的函数,可以视作一个数列。 积性函数与完全积性函数 在数论中,若函数 \(f(n)\) 满足 \(f(1)=1\),且 \(f(xy)=f(x)f(y)\) 对任意互质的 \(x, y \in\math
阅读全文
摘要:\(\text{莫比乌斯函数学习笔记}\) 前言 注意到我并没有将 "莫比乌斯反演" 作为文章的题目,主要原因是莫比乌斯反演可以解决的题目用莫比乌斯函数通常便可以解决。莫比乌斯函数的前置知识有且仅有数论分块。 数论分块 引理 1 \[\forall a,b,c\in\mathbb{Z},\left\
阅读全文
摘要:\(\text{后缀自动机 (SAM) 学习笔记}\) 一、定义 字符串 \(s\) 的 SAM 是一个接受 \(s\) 的所有后缀的最小 DFA (确定性有限自动机或确定性有限状态自动机),也就是说: SAM 是一张有向无环图。它的结点是图中的状态,边是状态之间的转移。 SAM 有源点 \(t_0
阅读全文
摘要:\(\text{LOJ \#6041. 「雅礼集训 2017 Day7」事情的相似度 题解}\) 解法一 由 parent 树的性质得到,前缀 \(s_i,s_j\) 的最长公共后缀实质上就是 \(i,j\) 在 SAM 中的 \(\operatorname{LCA}\) 在 SAM 中的 \(\o
阅读全文
摘要:\(\text{P4770 [NOI2018] 你的名字 题解}\) 注意到 \(l=1,r=|S|\) 有整整 68 分的高分,让我们先来考虑这样的特殊情况。 这样的特殊情形实际上要我们求的是 \(t\) 有多少个本质不同的子串满足其不是 \(s\) 的子串。正着做看上去有些困难,于是维护 \(s
阅读全文
摘要:\(\text{CF1801E Gasoline prices 题解}\) 考虑方案数如何计算。注意到树上一些点有着相同的取值,于是如果我们将它们用并查集缩起来,它的可行取值范围就是 \([\max_{l_i},\min_{r_i}]\)。现在考虑并查集的维护方式。考虑只有 \(n\) 个点,这样一
阅读全文
摘要:\(\text{P3247 [HNOI2016] 最小公倍数 题解}\) 第一眼上去没什么明显的思路。图上问题一般没有什么好的多项式复杂度算法来解决。观察数据范围,注意到 \(n,q\le 5\times 10^4\),是一个典型的根号复杂度算法,于是考虑分块来处理。注意到所求的不一定是简单路径,也
阅读全文
摘要:\(\text{Manacher 学习笔记}\) 一、引入 首先我们需要知道的是 \(\text{Manacher}\) 是解决回文串问题的有效工具。 一个通用的问题模型是给定一个长度为 \(n\) 的字符串 \(s\),统计该字符串中所有的回文子串的个数。\(\text{Manacher}\) 算
阅读全文

浙公网安备 33010602011771号