摘要:后缀数组 后缀数组,也就是后缀排序,是一个给字符串所有后缀排序的算法。 构造 直接排序我们比较的是前 $ n $ 个字符的大小关系。为了优化这个过程,后缀数组用了一种倍增的思路。比较每个字符串的第一位,再比较前 2 位,再比较前 4 位... 最后得到整个数组。这样可以合理利用已经处理的结果。在比较 阅读全文
posted @ 2020-01-19 08:19 yijan 阅读 (3) 评论 (0) 编辑
摘要:hdu 5421 Victor and String 支持双端插入的回文树。 考虑维护第二个 last 表示当前整个串的最长回文前缀。 往前 append 的时候可以直接那第二个 last 来跳 fail , 因为回文前缀和回文后缀是对称的。只有 getfail 的时候需要改一下,变成判断当前字符和 阅读全文
posted @ 2020-01-18 21:03 yijan 阅读 (2) 评论 (0) 编辑
摘要:回文树 回文树,也就是回文自动机,PAM(Palindrome automaton) 是一个处理回文串的有力工具。然而这个东西比SAM简单多了。。 (它可能比 manacher 要强得多?) 回文自动机有两个根,也就是说其实是有两个树的,一个存储长度为奇数的回文串一个存储长度为偶数的回文串。 回文自 阅读全文
posted @ 2020-01-18 17:05 yijan 阅读 (9) 评论 (0) 编辑
摘要:魔法咒语 没有一个点到极限数据海星。。。虽然极限数据好像没法做? 前 60% 很套路的 acam dp。$ dp[i][j] $ 表示当前匹配到第 $ i $ 个位置,当前在 ACAM 上 $ j $ 号节点。 后 40% 的数据看起来很矩乘。(其实整个数据范围都挺矩乘的) 由于 $ dp[i][j 阅读全文
posted @ 2020-01-18 11:50 yijan 阅读 (3) 评论 (0) 编辑
摘要:阿狸的打字机 首先建立fail树,考虑离线询问。考虑怎么用ACAM处理一个串在另一个串的出现次数, 可以给询问按照主串分类,对于每一个主串分别处理所有询问。某一个串在主串中出现,主串中位于这个串最后的那个位置跳fail必然可以跳到这个串。所以可以树上差分搞一下 大概没啥问题? 然后写了一发,就70了 阅读全文
posted @ 2020-01-16 20:52 yijan 阅读 (4) 评论 (0) 编辑
摘要:AC 自动机 做多模匹配其实就是把模式串丢到trie上,然后设置一个fail指针。 fail指针的含义是:最长的与后缀相同的前缀 明显,由于是最长的一个点的fail只会只想一个点(两个相同的前缀是一个点啊) 一个结论:如果沿着一个点一直跳fail,会得到这个串在ac自动机上的所有后缀 求出fail的 阅读全文
posted @ 2020-01-16 16:56 yijan 阅读 (2) 评论 (0) 编辑
摘要:斯坦纳树 $ dp[i][S] $ 表示 当前根为 $ i $ 当前生成树已经覆盖掉得关键点集合是 $ S $ 得最小代价。 转移分两种: 合并同一个根下的两种状态, $ dp[i][S_1|S_2] = \min( dp[i][S_1]+dp[i][S_2] w[i] ), S_1 \& S_2 阅读全文
posted @ 2020-01-15 20:30 yijan 阅读 (4) 评论 (0) 编辑
摘要:BZOJ 3514 Codechef MARCH14 GERALD07加强版 看题解才会的 如果加入一条边,它对答案是否有贡献取决于它是否与当前图形成环。 所以加入一条边时,它形成的环里面的最早加入的边cut掉,并且给它赋值位这个最早加入边的编号。在查询的时候,初始答案位 n ,一个边挤出去的边的编 阅读全文
posted @ 2020-01-05 12:09 yijan 阅读 (5) 评论 (0) 编辑
摘要:lmn u 表示 u 所在splay子树最上方点距离最近的白点 rmn u 表示 u 所在splay子树最下方点距离最近的白点 开一个set维护所有虚儿子能走到的最近的白点的距离 考虑pushup, 对于它的右儿子,考虑要么从这个点走向它的虚儿子,要么通过它左子树中深度最大的点走。 对于它的左儿子要 阅读全文
posted @ 2020-01-03 07:08 yijan 阅读 (6) 评论 (0) 编辑
摘要:bzoj4036 / P3175 [HAOI2015]按位或 是一个 的板子题。 式子: $ \displaystyle max(S) = \sum_{T\sube S} ( 1)^{|T|+1} min(T) $ 并且很优秀的是,它在期望情况下成立! 这个有什么关系呢。。 如果每一位分开考虑,如果 阅读全文
posted @ 2019-12-28 11:37 yijan 阅读 (4) 评论 (0) 编辑