![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
lcc_cat
呵呵
展开
-
Manacher算法小结
文章目录算法介绍例题例题1 HDU 3068 最长回文题意题解例题2 bzoj2565 最长双回文串题意题解例题3 Codeforces 17E Palisection题意题解例题4 The Number of Palindromes题意题解例题5 codeforces 1080e Sonya and Matrix Beauty题意题解 Manacher,又称马拉车算法,是解决字符串中回文的意大利...原创 2018-12-25 20:55:08 · 164 阅读 · 0 评论 -
BZOJ 3238 差异
题意 给出一个长度为n的字符串S,令TiT_iTi表示它从第i个字符开始的后缀。求 (其中len(a)len(a)len(a)表示字符串a的长度,lcp(a,b)表示字符串a和字符串b的最长公共前缀) ans=∑1≤i<j≤nlen(Ti)+len(Tj)−2∗lcp(Ti,Tj)ans=\sum_{1\leq i<j \leq n}len(T_i)+len(T_j)...原创 2019-01-06 16:00:22 · 191 阅读 · 0 评论 -
BZOJ 2946 [Poi2000]公共串
题意 给出几个字符串,求他们的最长公共子串 题解 其实我们只需要能够对于两个串求出它们的最长公共子串,这道题就差不多解决了 我们对第一个串构建后缀自动机,之后的跟它匹配就可以了 对于每个结点,每次匹配时维护当前匹配长度的最大值,再对全局维护一个最小值(因为要公共),然后最终答案就是所有点最小值的最大值 但是需要注意的是,当我们匹配了某个节点后,我们要更新它的fa的最大值,因为这个点能匹配就意味着f...原创 2019-01-06 20:23:57 · 215 阅读 · 0 评论 -
BZOJ2806 Cheat
BZOJ数据爆水! 可以试试这两组 1 1 010 0011 ans:1 1 1 000 111 ans:0 题目 有M个01串作为“作文库”,N次询问,每次询问给出一个01串S,你可以在S中取出成若干个不相交的长度大于等于L的子串,若这些子串都在那m个串中的任意一个作为子串出现过,且这些子串长度的和>=0.9*原长,那么这个L就是合法的,问你最大的合法的L是多少 题解 在后面的工作之前...原创 2019-01-06 20:50:32 · 168 阅读 · 0 评论 -
后缀自动机小结
定义部分参照OI-wiki-sam 然后放几道例题 BZOJ3238 BZOJ2946 BZOJ2806转载 2019-01-06 21:07:59 · 105 阅读 · 0 评论 -
BZOJ2555 SubString
题意 要求你在线支持下面几个操作: 1.在当前字符串末尾插入一个字符串 2.查询一个字符串作为子串在当前字符串中出现了多少次 题解 后缀自动机 显然出现次数就是对应节点right大小对吧 那么动态维护怎么做呢? LCT 再详细的讲讲怎么用LCT维护fail树(好像也叫parent树来着)吧(此处注意LCT并不完全是正常的LCT) 简单的讲,就是正常的SAM新建节点时在LCT新建节点,更新后缀链接时...原创 2019-01-07 11:12:10 · 126 阅读 · 0 评论 -
matrix
题意 定义一个矩阵价值为它的不相同的行的个数 给出n*m大小的矩阵,求它的所有子矩阵的价值 题解 这个问题相当于对于每个(p,S)(p为左端点所在列,S为一个字符串(em…这里跳了一步,我们可以把数字序列看成字符串))在多少个(x,y)中满足∃z∈[x,y]\exist z ∈[x,y]∃z∈[x,y],从z行p列开始的字符串和S相同 对于p=1,我们可以这样,将这N行看做是N个字符串,然后插入一...原创 2019-01-12 07:27:42 · 208 阅读 · 0 评论 -
bracket
题目 一棵树,每个节点上是左括号或者右括号,定义S(x,y)为树上从x走到y,原创 2019-01-10 08:54:35 · 301 阅读 · 0 评论