摘要:        
看这篇题解 怎么想到的:比如\(a_{i-1}<a_i\),那么我们循环到\(a_{i-1}\)的时候,肯定是先将\(a_{i-1}\)平方一直平方到一个边界,即再平方一次就超过\(a_i\)了,然后在这个时候去考察\(b_i\)和\(b_{i-1}\)的性质就好了,猜测两者肯定不会相差太多    阅读全文
posted @ 2024-08-15 14:25
最爱丁珰
阅读(12)
评论(0)
推荐(0)
        
            
        
        
摘要:        
考虑暴力怎么做。一个很自然的想法就是枚举每个模式串,并将当前枚举到的模式串作为文本串,然后内层循环再依次枚举模式串,看每个模式串在文本串中出现了多少次 发现上述过程与AC自动机的匹配很像,于是建立AC自动机,将每个串都放在AC自动机上跑query,当前跑到的u就代表这个串的一个前缀,然后让j=u一直    阅读全文
posted @ 2024-08-15 10:50
最爱丁珰
阅读(9)
评论(0)
推荐(0)
        
            
        
        
摘要:        
AC自动机上DP的典型题目 假设我们已经获得了最终的串,那么将这个串放在AC自动机上匹配的时候,一定是不会匹配到一个模式串的,我们考虑利用这一点来DP 设\(f[i][j]\)表示将经过修改后的文本串的前\(i\)个字符放在AC自动机上匹配中途没有匹配到模式串且当前匹配到AC自动机的\(j\)号节点    阅读全文
posted @ 2024-08-15 10:07
最爱丁珰
阅读(12)
评论(0)
推荐(0)
        
            
        
        
摘要:        
结合我们对AC自动机的理解,我们发现令e[i]表示第\(i\)个节点所代表的模式串的编号,query函数中取消e[j] 1就停止循环的条件而是一直循环直到j为\(0\)即可;具体见洛谷代码    阅读全文
posted @ 2024-08-15 08:44
最爱丁珰
阅读(9)
评论(0)
推荐(0)
        
            
        
        
摘要:        
具体讲解看OI-wiki就好了 构建字典图的那个位置,只用理解路径压缩就好了;在路径压缩完了之后,tr[u][i]表示的是状态\(u\)接上一个字符\(i\)所表示的字符串能够与\(Q\)所匹配的最大后缀长度。形式化地,设\(s=u+i\),令\(P\)为\(s\)的后缀集合,tr[u][i]=\(    阅读全文
posted @ 2024-08-15 08:42
最爱丁珰
阅读(16)
评论(0)
推荐(0)
        
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号