Loading

摘要: 参考资料1 参考资料2 前置知识:前缀函数,Border的简单认识 约定: 字符串的下标从 $0$ 开始。$|s|$ 表示字符串 $s$ 的长度。 对于字符串 $s$,记其每一个字符分别为 $s_0, s_1, \cdots, s_{|s|-1}$。 子串 $s_l, s_{l+1}, \cdots 阅读全文
posted @ 2022-01-30 16:03 pjykk 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 参考资料 约定: 字符串的下标从 $0$ 开始。$|s|$ 表示字符串 $s$ 的长度。 对于字符串 $s$,记其每一个字符分别为 $s_0, s_1, \cdots, s_{|s|-1}$。 子串 $s_l, s_{l+1}, \cdots, s_{r-1}, s_r$ 简记为 $s[l:r]$。 阅读全文
posted @ 2022-01-30 11:11 pjykk 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 前置芝士:扩展KMP(本人认为扩展KMP反而和manacher更像 0. 约定 字符串的下标从 $0$ 开始。$|s|$ 表示字符串 $s$ 的长度。 对于字符串 $s$,记其每一个字符分别为 $s_0, s_1, \cdots, s_{|s|-1}$。 子串 $s_l, s_{l+1}, \cdo 阅读全文
posted @ 2022-01-29 23:55 pjykk 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 折半搜索(又称meet in the middle),顾名思义,就是将原有的数据分成两部分分别进行搜索,最后在中间合并的算法。 设对 $n$ 的大小进行搜索所需要的时间复杂度为 $O(f(n))$,合并时间复杂度为 $O(g(n))$,那么折半搜索所需要的时间复杂度就为 $O(2f(n/2)+g(n 阅读全文
posted @ 2021-10-05 22:29 pjykk 阅读(1377) 评论(0) 推荐(1) 编辑
摘要: 题目来源 luogu. 1. [USACO19DEC] Milk Visits S 简明题意:树上的每个结点都是黑白两种颜色之一,每次询问一条链上是否有某种颜色。 思路: 一道简单的套路题…… 两种颜色可以分开讨论,每次关注一种颜色即可。 加强一下这道题,改成询问一条链上某种颜色结点的个数。 dfs 阅读全文
posted @ 2021-07-23 22:20 pjykk 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 字符串算法果然玄学=_= 参考资料: OI Wiki:前缀函数与KMP算法 OI Wiki:Z函数(扩展KMP) 0. 约定 字符串的下标从 $0$ 开始。$|s|$ 表示字符串 $s$ 的长度。 对于字符串 $s$,记其每一个字符分别为 $s_0, s_1, \cdots, s_{|s|-1}$。 阅读全文
posted @ 2021-07-14 20:11 pjykk 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 前置知识:二叉查找树(BST)。 我们知道,BST 是会被恶意数据卡成$O(n^2)$的。(如下图) 树变成了一条链,这很显然不是我们想要的,我们需要找到一种方法来让 BST 保持平衡。 于是我们就有了各式各样的平衡树,而在 OI 中应用最为广泛的就是 Splay 和 fhq_treap 阅读全文
posted @ 2021-07-12 21:50 pjykk 阅读(159) 评论(0) 推荐(0) 编辑
摘要: (水) 一般来说,我们使用BKDRhash还进行字符串的哈希操作。 具体地,我们将字符串看成一个大进制数,然后取模就行了。 code: int hash(string s) { int ans=0,l=s.length(); for(int i=0;i<l;i++)ans=(ans*base%mod 阅读全文
posted @ 2021-07-12 15:48 pjykk 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 树上的许多问题都可以用dfs序+线段树予以解决。 轻重链剖分是通过优化dfs的顺序,达到优化时间复杂度的目的。 它可以$O(n\log^2n)$支持链上加,链上和还有$O(n\log n)$LCA,子树加,子树和。 前置知识:dfs序,树形dp,线段树,没了。 首先给出一些定义: 重儿子:子树大小最 阅读全文
posted @ 2021-07-12 12:42 pjykk 阅读(83) 评论(0) 推荐(0) 编辑
摘要: UVA11987(vjudge) 并查集神题。也是在这里头一次听说了并查集的删除操作。 题目大意: 要求支持3个操作: 合并$x,y$所在集合; 将$x$移到$y$所在集合; 查询$x$所在集合中元素的个数和元素的和。 如果只有1、3操作,那么这道题就是一道简单的并查集。 现在有了2操作,那么就需要 阅读全文
posted @ 2021-07-11 23:54 pjykk 阅读(98) 评论(0) 推荐(0) 编辑