后缀自动机
Kelin__
One loves the sunset, when one is so sad...
展开
-
[NOI2015]品酒大会
题意∀i∈[0,n)∀i∈[0,n)\forall i\in[0,n)求有多少对后缀满足Len(lcp)≥iLen(lcp)≥iLen(lcp)\ge i,以及满足条件的两个后缀的权值乘积的最大值题解大于等于可以变成求Len(lcp)=iLen(lcp)=iLen(lcp)=i,然后求一遍后缀和,后缀最大值即可考虑Len(lcp)Len(lcp)Len(lcp)就是这两个后...原创 2018-03-23 08:25:05 · 368 阅读 · 0 评论 -
[Bzoj1396]识别子串
题意∀i∈[1,n]∀i∈[1,n]\forall i\in[1,n]求包含iii并且在原串sss中只出现一次的子串的最短长度题解因为每个点parentparentparent树上的父亲肯定是当前节点所代表的串的后缀那么只出现一次的串就是parentparentparent树上的叶子节点考虑这个点所代表的len[i]−len[fa[i]]len[i]−len[fa[i]...原创 2018-03-23 08:46:44 · 409 阅读 · 1 评论 -
[CTSC2012]熟悉的文章
题意有多个主串,每次询问将询问串分成多个连续子串,如果一个子串长度≥L≥L\ge L且在主串中出现过就是合法的如果合法的子串总长度≥≥\ge询问串长的90%90%90\%,这个串就是合法的字符串,求使得询问串成为合法的字符串的最大的LLL题解先建好广义SAM,SAM,SAM,发现LLL满足单调性,所以可以二分答案考虑怎么checkcheckcheck用dp啊考虑一个...原创 2018-03-23 13:52:26 · 270 阅读 · 0 评论 -
[ZJOI2015]诸神眷顾的幻想乡
题意给你一个叶子节点不超过202020的树,每个点有一个颜色,一条有向路径构成一个颜色序列,问所有本质不同的颜色序列的个数题解可以发现一个树上路径一定是某两个叶子节点连起来的路径的子路径(子串)那么我们dfs20dfs20dfs20遍这棵树,每次都一某个叶子为根我们可以得到202020颗trietrietrie树,那么要求的就是这些trietrietrie所代表的所有字符串有多...原创 2018-03-23 14:21:05 · 405 阅读 · 0 评论 -
[SDOI2008]Sandy的卡片
题意给你nnn个串,求最长公共子串定义两个如果长度相同,并且他们都加上一个数会变成一样的就相同题解其实说白了就是两个串的差分数组相同他们就相同当然如果两个差分数组的第一个数不同也没关系所有答案就是原来所有串的差分数组的Len(LCS)+1Len(LCS)+1Len(LCS)+1多串lcslcslcs参考模板[Spoj1812]LCS2[Spoj1812]LCS2...原创 2018-03-24 20:33:29 · 220 阅读 · 0 评论 -
[Spoj1812]LCS2
题意求nnn个串的LCSLCSLCS题解考虑怎么求两个串的LCSLCSLCS,也就是[Spoj1811][Spoj1811][Spoj1811]先对其中一个串建立SAMSAMSAM,令x=1,len=0x=1,len=0x=1,len=0(我的SAMSAMSAM从111开始)然后对于第二个字符串sss我们一位一位考虑根据SAMSAMSAM的性质1.1.1.如果xxx...原创 2018-03-21 15:50:29 · 663 阅读 · 0 评论 -
[AHOI2013]差异
题意求一个定值−2×−2×-2\times所有后缀的公共前缀题解前面那个定值是∑i=1n−1∑j=i+1ni+j=(n−1)×∑i=1ni=(n−1)∗n∗(n+1)2∑i=1n−1∑j=i+1ni+j=(n−1)×∑i=1ni=(n−1)∗n∗(n+1)2\sum_{i=1}^{n-1}\sum_{j=i+1}^ni+j=(n-1)\times\sum_{i=1}^ni=\f...原创 2018-03-21 17:48:42 · 1290 阅读 · 0 评论 -
[Bzoj3879]SvT
题意每次询问ttt个后缀两两的最长公共前缀之和题解嗯,SvT(Suffix Virtual Tree)SvT(Suffix Virtual Tree)SvT(Suffix\ Virtual\ Tree)模板,[AHOI2013][AHOI2013][AHOI2013]差异的加强版既然有∑t≤3×106∑t≤3×106\sum t\le 3...原创 2018-03-21 23:00:11 · 299 阅读 · 0 评论