----(EXT)KMP/Trie
文章平均质量分 56
扩展的灰
扩展的灰(Extended Ash)
展开
-
Jzoj4876 基因突变(红警系列)
邪恶的707刚刚从白垩纪穿越回来,心中产生了一个念头:我要统治人类! 但是统治人类是很庞大且复杂的一个工程,707尝试了洗脑,催眠,以及武装镇压都没能成功地统治人类,于是她决定从科学上对人类的基因进行研究从而达到他的目的。 707获取了人类的基因信息并尝试对基因进行实验。他发现可以把人类的基因看做一个只包含小写字母的字符串,并定义从头开始任意长度的基因为“源头基因”人类身上与源原创 2017-10-31 08:10:28 · 1330 阅读 · 0 评论 -
Jzoj3351 神牛养成计划2
前文再续,书接上回,话说神牛yxr成功培育出神牛细胞,可最终培育出来的生物体却让他大失所望……后来,他从某GD女神 牛处知道,原来他培育的细胞发生了基因突变,原先决定神牛特征的基因序列都被破坏了,神牛yxr很生气,但他知道基因突变有低频性,说不定还有一些优秀基因没有突变,那么他就可以用限制性核酸内切酶把它们切出来,然后再构建基因表达载体什么的,后面的你懂的。神牛yxr现在知道了N个细胞的D原创 2018-04-20 20:40:03 · 241 阅读 · 0 评论 -
Jzoj5603 xiz
给定字符串 S 和 T。串A和串B匹配的定义改为:存在一个字符的映射,使得A应用这个映射之后等于B,且这个映射必须为一个排列。A=121, B=313,当映射为{1->3, 2->1, 3->2}时A'=B,可以匹配A=212, B=313,当映射为{1->1, 2->3, 3->2}时A'=B,可以匹配A=232, B=313,当映射为{1->2, 2->3, 3->1}时A'=原创 2018-04-17 21:50:27 · 294 阅读 · 0 评论 -
Jzoj3648 【GDOI2014】beyond
当年还是too naive了啊,这么简单的题居然没做出来,太弱啦(讲真我那年还没上初中呢。。。)要是明年遇上这种题目就好了,嘻嘻嘻很显然的,最大的答案一定在两个串中出现过,那么我们来考虑如何找出这个串枚举一个x,我们用二分+hash求出a[x]和b[1]的lcp,设为len,让后再看a[1..x-1]和b[len+1,x+len+1]是否相等就好了因为哈希常数非常小jzoj跑得快,原创 2017-12-05 19:06:58 · 443 阅读 · 0 评论 -
Jzoj4061 字符串树
给一个树,每条边上面有一个字符串,每次询问两个节点路径上的字符串中有多少以给定的一个字符串为前缀显然是一个十分简单的题目,当时想多了打了树剖+Trie合并后来才意识到可以用差分+可持久化trie,过于愚蠢了。。。。。其实solution给了另一种解法,将所有字符串排序,哈希求lcp,让后存在一个数组里面,让后就可以用主席树了反正这题比较简单#pragma GCC opitm原创 2017-12-04 20:42:04 · 315 阅读 · 0 评论 -
Jzoj3756 【NOI2014】动物园
下课前,园长提出了一个问题:“KMP 算法只能求出 next 数组。我现在希望求出一个更强大 num 数组——对于字符串 S 的前 i 个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作num[i]。例如 S 为 aaaaa,则 num[4] = 2。这是因为 S 的前 4 个字符为 aaaa,其中a 和 aa 都满足性质‘既是后缀又是前缀’,同时保证原创 2017-12-04 20:35:14 · 418 阅读 · 0 评论 -
字符串专题讲解
最近教练叫我去讲字符串专题,于是来写一写这方面的内容主要就讲以下几个吧:1.Kmp 2.Extended Kmp3.Trie4.AC Automation5.String Hash6.Suffix Array7.Suffix Automation8.Suffix Tree9.manacher10.Palindrome Automation11.Suf原创 2017-11-26 16:03:44 · 992 阅读 · 10 评论 -
Jzoj4384 Hashit
你有一个字符串S,最开始为空,要求支持两种操作在S后面加入字符c删除S最后一个字符每次操作询问S有多少个两两不同子串应该本来应该用SAM+Trie离线做的,然而为了练一下后缀平衡树就写了其实也很好写,用哈希比较一下就好了,可以用set实现,开一个数组存每个后缀对应的节点就好求height也可以用哈希#pragma GCC opitmize("O3")#pragma原创 2017-12-10 13:15:51 · 495 阅读 · 0 评论 -
一些基础算法的模板(持续更新)
更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f[N],sz[N]; int last=1,cnt=1,n,v[N],r[N],ans=0; inlin原创 2017-10-25 22:05:58 · 3734 阅读 · 0 评论 -
字符串专题1
.都是些bzoj原题辣,这几天刚做的 Bzoj4032有趣的dp题,也要用到各种自动机注意到题目的两个关键词“子串”和“子序列”考虑对A和B串建立后缀自动机和序列自动机序列自动机:可以识别一个序列所有子序列的自动机 想必学过自动机的各位都知道这个玩意怎么建,这里不再阐述让后我们考虑这些询问询问1:直接用SAM做类似LCS的做法求出A每个前缀和B匹配的最长距离,取最小+1询问2:...原创 2018-11-19 22:06:20 · 259 阅读 · 0 评论