随笔分类 - 字符串
摘要:终于又遇到SAM的题了好好玩,而且就这道题让我弄清楚了广义SAM和Trie上SAM的区别其实两者是没有多少区别的,不过Trie上SAM可以更快关于Trie上SAM,是用bfs的方法来构建的,相比起广义SAM用dfs建少了一个深度之和的部分但是如果原题给的就是Trie那...
阅读全文
摘要:前文再续,书接上回,话说神牛yxr成功培育出神牛细胞,可最终培育出来的生物体却让他大失所望……后来,他从某GD女神 牛处知道,原来他培育的细胞发生了基因突变,原先决定神牛特征的基因序列都被破坏了,神牛yxr很生气,但他知道基因突变有低频性,说不定还有一些优秀基因没有突...
阅读全文
摘要:给定字符串 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-...
阅读全文
摘要:题目看这里我们发现需要动态维护一个字符串是否成周期根据border的一个简单性质,得出周期串的充分必要条件是,如果a[i..k]=a[j-k+1..j] 那么a[i..j]是以k为周期的串于是可以用线段树来维护哈希莫名其妙rank1..#include#include...
阅读全文
摘要:题目看这里复习一下PAM做两次回文自动机,一次正串,用f[i]表示以i结尾的串最长的回文子串反过来做一次记为g[i]那么ans=max(f[i]+g[n-i])#include#include#include#define N 100010using namespac...
阅读全文
摘要:首先,我们来定义一下淋漓尽致子串。1.令原串为S。2.设子串的长度为len,在原串S中出现的次数为k,令其出现的位置为p1, p2, ....pk(即这个子串在原串中[pi,pi + len - 1]中出现)。3.若k=1,则该子串不是淋漓尽致子串。4.若存在pi,p...
阅读全文
摘要:本博客所有的文章均来自http://blog.csdn.net/jacajava 欢迎访问 原博主有注释:版权声明:本文为Cooevjnz原创文章,未经Cooevjnz允许也可以转载!
阅读全文
摘要:终于找到教程了,现在来写一发题目:Jzoj4072(bzoj3998)弦论 第一问其实非常好写,连空间都不需要多开一倍,只需要sa数组rank数组和height数组就好了,dfs一次可以求出#include#include#include#include#define...
阅读全文
摘要:A镇的主街是由N个小写字母构成,镇长准备在上面贴瓷砖,瓷砖一共有M种,第i种上面有Li个小写字母,瓷砖不能旋转也不能被分割开来,瓷砖只能贴在跟它身上的字母完全一样的地方,允许瓷砖重叠,并且同一种瓷砖的数量是无穷的。问街道有多少字母(地方)不能被瓷砖覆盖。、今天翻看题库...
阅读全文
摘要:又是被水题坑了。。。一直想不出来看题解说要什么主席树,于是开始打离线算法结果打到一半发现要强制在线。。No!!!发现直接AC自动机似乎可做?树剖之后在AC自动机上跑的时候判断一下不就好了吗!连线段树都不要让后快乐切掉,速度还可以(废话,人家N^2暴力都跑得飞快)#pr...
阅读全文
摘要:你有一个字符串S,最开始为空,要求支持两种操作在S后面加入字符c删除S最后一个字符每次操作询问S有多少个两两不同子串应该本来应该用SAM+Trie离线做的,然而为了练一下后缀平衡树就写了其实也很好写,用哈希比较一下就好了,可以用set实现,开一个数组存每个后缀对应的节...
阅读全文
摘要:艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了。拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛。所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训练好拉拉队有多么的重要。 拉拉队的选拔工作已经结束,在雨荨和校长的挑选下,n位集优秀的身材...
阅读全文
摘要:顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同)。 输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。PAM模(m...
阅读全文
摘要:当年还是too naive了啊,这么简单的题居然没做出来,太弱啦(讲真我那年还没上初中呢。。。)要是明年遇上这种题目就好了,嘻嘻嘻很显然的,最大的答案一定在两个串中出现过,那么我们来考虑如何找出这个串枚举一个x,我们用二分+hash求出a[x]和b[1]的lcp,设为...
阅读全文
摘要:给一个树,每条边上面有一个字符串,每次询问两个节点路径上的字符串中有多少以给定的一个字符串为前缀显然是一个十分简单的题目,当时想多了打了树剖+Trie合并后来才意识到可以用差分+可持久化trie,过于愚蠢了。。。。。其实solution给了另一种解法,将所有字符串排序...
阅读全文
摘要:下课前,园长提出了一个问题:“KMP 算法只能求出 next 数组。我现在希望求出一个更强大 num 数组——对于字符串 S 的前 i 个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作num[i]。例如 S 为 aaaa...
阅读全文
摘要:物理题目传送门求第k大的子串?SAM模板题啊CLJ的论文都讲了怎么做啊,把自动机看成一个后缀Trie求出size让后像多叉平衡树那样乱搞就好了~比前两个哈希的题好多了~ (顺便,hdu高亮好好看啊)#pragma GCC opitmize("O3")#pragma G...
阅读全文
摘要:题目传送门和上一篇题目几乎一样,不过还是这道题良心!bzoj好!poj慢到出*splay大法好! 两次AC不卡常!#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include#include#include#...
阅读全文
摘要:题目传送门经典的数据结构维护字符串哈希这里用了很慢很慢的splay各种T(也可能是死循环)不过没办法因为会写splay的能力还是要有的#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include#includ...
阅读全文
摘要:题目传送门哈哈哈广义SAM真的好简(du)单(liu)啊到时候讲课可以拿来祸害众生,Yeah!好了开始讲题解,我们将所有字符串加入广义SAM里面对每一个节点维护一个bitset表示它在哪些主串中出现过,让后标记上传就用或运算就好了因为题目要求输出方案,加上一个dfs就...
阅读全文