![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
护理系程序猿
这个作者很懒,什么都没留下…
展开
-
回文自动机
【代码】回文自动机。原创 2022-09-23 01:05:21 · 77 阅读 · 0 评论 -
ac自动机
【代码】ac自动机。原创 2022-09-23 01:02:53 · 77 阅读 · 0 评论 -
manacher算法
【代码】manacher算法。转载 2022-09-18 14:28:38 · 43 阅读 · 0 评论 -
Trie字典树
每个节点有26个子节点 复杂度(n+km)k为插入字母数,m为查询数,k为深度 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int trie[400001][26],len,root,tot,sum[400001]; bool p; int n,m; char s[11]; void insert() {原创 2022-01-21 15:30:39 · 45 阅读 · 0 评论 -
扩展KMP算法
扩展kmp 参考博客 核心数组: next[i]: T[i]…T[m - 1]与T的最长相同前缀长度; extend[i]: S[i]…S[n - 1]与T的最长相同前缀长度。 个人理解:每次找到可以匹配的一串字符,就将其展开(a,p),在依次枚举i。而当访问超出p时,更新区间。 代码1 #include <iostream> #include <string> using namespace std; void GetNext(string & T, int &am原创 2022-01-20 22:42:28 · 300 阅读 · 0 评论 -
KMP算法
KMP 算法思想:从n*m的匹配结构,优化为在n上滑动,m根据预处理一步更新到位 注意:字符串是从0开始 预处理本身就是两个相同字符串的KMP过程 代码及注释 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int maxn = 1e6+5; const int maxm = 1e3+5; char a[maxn],b[maxn]; int nxt[maxm]; //nxt[i]表示:当匹配原创 2022-01-20 14:36:27 · 164 阅读 · 0 评论