随笔分类 - 字符串
摘要:回文树&&回文自动机PAM 学习资料:hyfhaha-PAM学习小结 OI Wiki 回文树 模板 回文树模板: \(Fail\) 指针:当前节点的最长回文后缀。 例题:luoguP3649回文串 题面:给你一个由小写拉丁字母组成的字符串 \(s\)。我们定义 \(s\) 的一个子串的存在值为这
阅读全文
摘要:后缀自动机 SAM 模板 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e6+50; struct Node{ int ch[26]; int len,fa; }node[maxn
阅读全文
摘要:AC自动机 学习资料: OI Wiki 模板 解释 fail 指针: 将构建后的字典树的所有状态集合记作 \(Q\) , 状态 \(u\) 的 fail 指针指向另一个状态 \(v\) ,其中 \(v\in Q\) ,且 \(v\) 是 \(u\) 的最长后缀(即在若干个后缀状态中取最长的一个作为
阅读全文
摘要:trie树 学习资料:OI Wiki 模板: struct Tire{ int nxt[maxn][26],cnt; bool exit[maxn];//以这个点结尾的字符串是否存在 void insert(char s[],int len) { int p=0; for(int i=0;i<len
阅读全文
摘要:ac自动机: 给你若干个单词,判断一段文字里边这些单词出现了吗,在哪出现,出现几次? 首先是字典树模板: #include<bits/stdc++.h> #define debug printf("!"); using namespace std; const int maxn=1e3+50; st
阅读全文
摘要:题目链接 题目描述 写一个程序,使其能输出自己的源代码。 代码中必须至少包含十个可见字符。 输入格式 输入文件为空。 输出格式 你的源代码。 从来没想过还可以这么玩φ(゜▽゜*)♪ 看着别人的题解写了一份代码: #include<bits/stdc++.h> #define kk(x) #x usi
阅读全文
摘要:G. Substring 一直超时 超内存 然后 是 答案错误 最后发现主要是哈希的问题 我在别的地方找了这个: //https://www.cnblogs.com/napoleon_liu/archive/2010/12/29/1920839.html uint32_t hash( uint32_
阅读全文
摘要:燃鹅,一年后的我在想,回文树是个什么东西?(._."||) 2020-10-08 好好理解了回文树。 理解后的感觉:为啥子之前会觉得很复杂?Orz 根据自己理解改了个自己能看懂的模板 #include<bits/stdc++.h> using namespace std; const int max
阅读全文
摘要:Colorful String 下午比赛TLE,一直很纳闷为什么线段树+回文树会T,然后晚上发现我线段树写错一行。然后气哭QAQ。 113m赛后过,不会T。 下面代码用的是bitset,也可以直接状压,毕竟才26位。 线段树是记录[l,r]区间的状态,最后返回状态再得到1的数量。 回文树还是那个回文
阅读全文
摘要:2019CCPC网络选拔赛1003 HDU6704 题目大意: T个测试样例。一个长度为N的字符串S,之后Q个[l,r,k],表示一个子串S[l,r],求出第k个该子串的下标。起始坐标为1。不存在输出-1。 数据范围:1≤T≤20, 1≤N≤105, 1≤Q≤105, 1≤l≤r≤N, 1≤k≤N,
阅读全文