Processing math: 0%

Loading

随笔分类 -  字符串

摘要:参考资料: OI-wiki ouuan的博客 1. 回文自动机介绍和结构 回文自动机,又称回文树,是一个能够存储字符串中所有回文子串的数据结构。 首先放一张图来感受回文自动机的总体结构。这是对字符串 \texttt{eertree}构建的回文自动机。 (eertree是回文自动机最初提出时的名字 阅读全文
posted @ 2022-02-02 20:45 pjykk 阅读(370) 评论(0) 推荐(0) 编辑
摘要:参考资料: ouuan的博客 OI-wiki 如果我们只需要找一个模式串在另一个文本串中出现的位置和次数,使用KMP算法即可在线性时间内解决问题。 但是如果模式串的数量不止一个,甚至模式串有包含关系时,我们就需要AC自动机了。 奇怪的知识:AC自动机全称Aho–Corasick算法,是两个人名的组合 阅读全文
posted @ 2022-02-02 16:17 pjykk 阅读(193) 评论(0) 推荐(0) 编辑
摘要:参考资料1 参考资料2 0. 约定 字符串的下标从 0 开始。|s| 表示字符串 s 的长度。 对于字符串 s,记其每一个字符分别为 s_0, s_1, \cdots, s_{|s|-1}。 子串 s_l, s_{l+1}, \cdots, s_{r-1}, s_r 简记为 阅读全文
posted @ 2022-01-30 17:55 pjykk 阅读(80) 评论(0) 推荐(0) 编辑
摘要:参考资料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 阅读(250) 评论(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) 编辑
摘要:字符串算法果然玄学=_= 参考资料: 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 阅读(602) 评论(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 阅读(48) 评论(0) 推荐(0) 编辑
摘要:字符串算法都好抽象啊…… 1. 字符串哈希 int hash(string s) { int ans=0,l=s.length(); for(int i=0;i<l;i++)ans=(ans*base%mod+(s[i]-'0'+1))%mod; return ans; } 2. 前缀函数 void 阅读全文
posted @ 2021-07-11 22:48 pjykk 阅读(73) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示