摘要:        
我们预处理出来以i为结尾的最长回文后缀(回文自动机的构建过程中就可以求出)然后就是一个区间覆盖,因为我懒得写贪心,就写了线段树优化的DP。 cpp include include include include include using namespace std; const int N=101    阅读全文
posted @ 2019-01-06 20:41
Xu-daxia
阅读(193)
评论(0)
推荐(0)
        
            
        
        
摘要:        
给你一个串S以及一个字符串数组T[1..m],q次询问,每次问S的子串S[pl..pr]在T[l..r]中的哪个串里的出现次数最多,并输出出现次数。 如有多解输出最靠前的那一个。 我们首先对m个字符串数组建出后缀自动机,然后我们可以通过跳trans边找到S前i个字符代表的前缀的最长后缀。我们要找的是    阅读全文
posted @ 2019-01-06 18:32
Xu-daxia
阅读(254)
评论(0)
推荐(0)
        
            
        
        
摘要:        
感觉很水。 因为SAM上一个点的子树大小代表这个点所表示子串的出现次数。 建出广义后缀自动机之后。在$parent$树上跑$DP$,维护$size[i][1]$,和$size[i][0]$代表i的子树中有多少第一个串的结束节点和第二个串的结束节点,然后答案就是$size[i][0] size[i][    阅读全文
posted @ 2019-01-06 17:54
Xu-daxia
阅读(219)
评论(0)
推荐(0)
        
            
        
        
摘要:        
我们对 作文库 建出广义后缀自动机。考虑用$SAM$处理出来一个数组$mx[i]$,表示从作文的第$i$个位置向左最远在作文库中出现的子串的长度。这个东西可以在$SAM$上跑$trans$边来实现(其实求出来的是作文前i位在作文库中出现的最长后缀)。 处理出来这个东西,我们考虑用$DP$求答案。发现    阅读全文
posted @ 2019-01-06 17:49
Xu-daxia
阅读(141)
评论(0)
推荐(0)
        

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号