随笔分类 - 字符串
摘要:问文本串在模式串中出现了几次 双哈希,预处理出$b$的$i$次方,哈希转化公式:$sum_i$=($sum_{i-1}$*$b^{len}$+$s_i$+1)%$mod$ 1 #include <algorithm> 2 #include <cstdio> 3 #include <iostream>
        阅读全文
            
摘要:AC自动机是建立在KMP算法和Trie树的基础上 一、主要步骤 将所有的模式串构建成一个Trie树 对Trie树上的所有节点求失配指针(即从根节点出发,一个串是另一个串的后缀,画图比较好理解) 利用失配指针对主串进行匹配 代码,附注释,应该会好理解一些: 1 #include <iostream> 
        阅读全文
            
摘要:一个定理:$a$-$root$的异或和^$b$-$root$的异或和=$a$-$b$的异或和 证明:$a$^$a_1$^$a_2$^……$root$^$root$^$b$^$b_1$^$b_2$^…… 因为:$a$^$a$=0 0异或任何数为它本身,所以上述式子就等于$a$^$a_1$^$a_2$^
        阅读全文
            
摘要:*传送 *题意:给出一系列相似的单词,问最少到第几位,才能完全区分他们并输出 即使看到题的时候还没有写过trie树,但是第一反应就是,trie树记录每一位有多少单词经过,到等于1恰好截止 trie树流程:trie树分为建树和查找,建树一般没什么区别,从0开始为根节点,如果当前节点的子节点没有想要的字
        阅读全文
            
摘要:把已经给出的串称为文本串,要在文本串中找的串称为模式串。特别地,前两位$(kmp[0],kmp[1])$为零。比如串$ABABAC$,它的$fail$应该为001230。已知第$i$位的自动机$kmp[i]$,要求第$i+1$位的。设$j=kmp[i]$。$kmp[i]$一定在i前面,$kmp[i]
        阅读全文
            
 
                    
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号