摘要: 和 KMP 的关系大概就是 SAM 和广义 SAM 的关系吧。 类似 KMP,现在考虑对一个 Trie 树构造一个自动机: 状态为 Trie 树自己,即 Trie 树包含的所有串的前缀。 对于每个节点,失配指针 \(\operatorname{fail}\) 指向其最长的匹配某个前缀的后缀。 考虑如 阅读全文
posted @ 2025-08-26 15:02 _E_M_T 阅读(5) 评论(0) 推荐(0)
摘要: 从一个经典问题入手: 给定一个串 \(T\) 和一个串 \(S\),判断 \(S\) 是否为 \(T\) 子串。 这几天听了非常强的选手用自动机的角度思考了 KMP,虽然完全没有听懂,但确实感觉原来并没有理解 KMP。 先考虑一个串 \(S\) 和 \(T\) 匹配。假设现在读进来了一个 \(T\) 阅读全文
posted @ 2025-08-25 18:39 _E_M_T 阅读(8) 评论(0) 推荐(0)
摘要: 重新学了下。 定义 线性基是对某个序列生成的一个集合,满足两个性质: 在线性基中任意选择若干个数的异或和的值所构成的集合,等于原序列中选择若干个数的异或和所构成的集合。 线性基是满足上述条件的最小集合。 线性基数组的含义: 设 \(d_i\) 为线性基第 \(i\) 位,则 \(d_i\) 的含义是 阅读全文
posted @ 2025-08-14 15:00 _E_M_T 阅读(13) 评论(0) 推荐(0)
摘要: 最近遇到的一类 dp 题。 适用范围 某些问题规定了变量 \(A\) 和变量 \(B\) 的大小关系,但并不在意其具体数值。 如,\(A>B,A=B\) 等。 暴力 dp 通常为 \(f_{i,j}\) 表示变量 \(A\) 的值为 \(i\),变量 \(B\) 的值为 \(j\),这样需要转移两维 阅读全文
posted @ 2025-08-13 21:28 _E_M_T 阅读(13) 评论(0) 推荐(0)
摘要: 割点 对于无向图上的一个点,若把这个点去掉之后原图不连通,则为割点。割边类似。 tarjan 先考虑给这个图先打上 dfs 序,设其为 \(\operatorname{dfn}_i\)。 然后取出这颗 dfs 树(加粗的边为树边): (图显然是搬的。) 考虑 \(u\) 在什么情况下为割点,显然是去 阅读全文
posted @ 2025-08-12 10:08 _E_M_T 阅读(11) 评论(0) 推荐(0)
摘要: 很好理解所以写短一点。 只说区间连区间。(P6348 [PA 2011] Journeys。) 先考虑 \([a,b] \to [c,d]\) 的单向边。 建两棵线段树(动态开点): 在跑最短路时就是第一棵树的叶子跑到第二棵树的叶子的最短路。 然后考虑把出树上 \([a,b]\) 分出来的 \(\l 阅读全文
posted @ 2025-05-05 10:39 _E_M_T 阅读(10) 评论(0) 推荐(0)
摘要: 代码中可能带了一些个人缺省源里的东西。 前置知识 std::set。 简述 珂朵莉树(Chtholly Tree),又名老司机树(Old Driver Tree, ODT),是一种非常暴力的维护序列信息的数据结构。 其通过维护值相同的连续段来保证效率,在特殊构造的数据下会退化为普通暴力算法。 其起源 阅读全文
posted @ 2025-04-06 17:18 _E_M_T 阅读(75) 评论(0) 推荐(0)
摘要: 之前想学好久的,去年咋都不会,现在终于会了。 作者不是很会分析复杂度哈,默认 \(n,m\) 同阶。 引入 考虑一个问题的莫队解法: 给你一个长为 \(n\) 的序列 \(a\),\(m\) 次询问,每次查询一个区间的逆序对数。\(n,m\le 10^5\)。\(a_i\le 10^9\)。 显然, 阅读全文
posted @ 2025-04-03 14:31 _E_M_T 阅读(18) 评论(0) 推荐(0)
摘要: 前置知识 字典树。 定义 可持久化 Trie 的方式和可持久化线段树的方式是相似的,即每次只修改被添加或值被修改的节点,而保留没有被改动的节点,在上一个版本的基础上连边,使最后每个版本的 Trie 树的根遍历所能分离出的 Trie 树都是完整且包含全部信息的。 大部分的可持久化 Trie 题中,Tr 阅读全文
posted @ 2025-03-07 16:58 _E_M_T 阅读(110) 评论(0) 推荐(1)
摘要: 前置知识 线段树,包括权值线段树、动态开点等。 前言 主席树,即可持久化线段树。 可持久化:可以保留每一个历史版本,并且支持操作的不可变特性。(来自oiwiki。) 实现 考虑如何记录历史信息。 例题(P3919 【模板】可持久化线段树 1(可持久化数组)): 维护一个数组,支持在某个历史版本修改以 阅读全文
posted @ 2025-03-06 15:04 _E_M_T 阅读(23) 评论(0) 推荐(0)