摘要:
trie 树,又叫字典树,前缀树,可以用来求查询这个字符串的数量,或者以这个字符串为前缀的字符串的数量。 阅读全文
摘要:
manacher,又叫马拉车。 马拉车可以用来求最长回文子串。 思考如何求最长回文子串,我们首先会想到一个 \(O(n^3)\) 的解法:枚举所有子串,然后判断是否为回文串。当然这个解法非常大 蠢。 然后,我们又会有一个想法,枚举每个点,然后从这个点向外拓展,如果相同则拓展,否则记录答案。这里有个问 阅读全文
摘要:
小蒟蒻第一次写游记,写的不好的地方还请巨佬指出QWQ 阅读全文
摘要:
这是一个没咕多久但还是咕咕咕了的分块学习笔记…… 先从一个问题引入吧: 给一个序列,支持求区间和 我:前缀和吧 还要支持区间修改(区间加一个数) 我:线段树可以 还要支持求区间小于k的数的个数,且每次询问的k都不一定相同 我:太难了/dk 另:卡平衡树 …… 分块就可以解决这个问题/cy。分块,可以 阅读全文
摘要:
单调队列就是队列内元素具有单调性的队列。而单调队列的用处就是求区间内的最大/最小值。 阅读全文
摘要:
例题:P5905 【模板】Johnson 全源最短路 阅读全文
摘要:
树链剖分,是一种可以把一棵有根树划分成许多条链,从而简单地实现树上修改与查询操作的 算法/数据结构(我也不知道属于哪个QwQ)。 当然这里的树链剖分是指重链剖分。 先放模板:P3384 【模板】轻重链剖分 ~~(嘤嘤嘤她蓝了)~~ 学习重链剖分,你首先要知道以下名词: 重儿子: 对于一个非叶子节点u 阅读全文
摘要:
矩阵快速幂,就是矩阵乘法和快速幂的结合,所以在讲矩阵快速幂之前,先讲讲矩阵乘法和快速幂。 矩阵 矩阵的定义 什么是矩阵?由 $m \times n$ 个数 $a_{i,j}(i=1,2,\cdots,m;j=1,2,\cdots,n)$ 排成的一个 $m$ 行 $n$ 列的数表 $$\begin{m 阅读全文
摘要:
Tarjan这东西,最基础的用法就是求强连通分量和环,然后还可以求割点、割边,以及可以缩点。 阅读全文
摘要:
众所周知,线段树这玩意又臭又长,但很容易理解。 阅读全文