![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法树之字符串
九羽-
日有所进,月有所变,终有所成。
展开
-
( 字符串专题 )【 扩展KMP 】
( 字符串专题 )【 扩展KMP 】时间复杂度:O(n+m)作用:在线性时间内计算串T(长度为n)的每一个后缀对应串P(长度为m)的最长公共前缀。用 extend[i]表示T[i~n-1]与P的最长公共前缀。假设T=“AAAAB”, P="AAAA"。则extend[5] = {4,3,2,1,0}next[i]表示为 串P中以 i 为起点的后缀字符串和 整个串P 的最长公共前缀长度.假设P=“AAAAB” 则next[5] = {5,3,2,1,0}...原创 2020-08-03 10:42:59 · 108 阅读 · 0 评论 -
( 字符串专题 )【 字符串hash 】
( 字符串专题 )【 字符串hash 】#include <bits/stdc++.h>using namespace std;typedef unsigned long long ull;ull base=233317; //or 827ull base2=200379; //or 1127ull pwd[2005];char s[2005][2005], t[2005][2005];int n,m,N,M;int main(){/* const .翻译 2020-05-11 18:12:49 · 437 阅读 · 0 评论 -
( 字符串专题 )【 Manacher算法 】
( 字符串专题 )【 Manacher算法 】推荐视频:https://www.bilibili.com/video/av41883533?p=21975年,Manacher发明了Manacher算法(中文名:马拉车算法),是一个可以在O(n)的复杂度中返回字符串s中最长回文子串长度的算法,十分巧妙。让我们举个栗子:1.字符串:abbababa 最长回文子串:5(...原创 2020-02-08 16:12:41 · 293 阅读 · 0 评论 -
( 字符串专题 )【 字典树 】
( 字符串专题 )【 字典树 】Trie树(字典树)一、引入字典是干啥的?查找字的。字典树自然也是起查找作用的。查找的是啥?单词。看以下几个题:1、给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单词表中出现过。答:简单!map,短小精悍。好。下一个2、给出n个单词和m个询问,每次询问一个前缀,回答询问是多少个单词的前缀。答:map,把每个...转载 2019-12-11 16:45:33 · 100 阅读 · 0 评论 -
( 字符串专题 )【 KMP 】
( 字符串专题 )【 KMP 】给定两个字符串 s 和 t ,判断 t 是否为 s 的子串。#include <stdio.h>#include <string.h>char s[1000005], t[1000005];int prefix[1000005];void getpre(){ int now=-1; int i=0,...原创 2019-11-15 18:46:56 · 113 阅读 · 0 评论 -
( 字符串专题 )【 后缀数组 】
( 字符串专题 )【 后缀数组 】推荐阅读:https://www.cnblogs.com/zwfymqz/p/8413523.html倍增法代码模板:#include <bits/stdc++.h>using namespace std;const int maxn = 1e6+10;char s[maxn];int n,M,rak[maxn],sa[m...原创 2019-11-02 10:46:38 · 177 阅读 · 0 评论