随笔分类 - 字符串——manacher
摘要:比赛链接 A.SAM 挖坑 B.T1 problem 给出一个字符串$S$,$S$只包含阿拉伯数字,问$S$有多少个回文子串$S[i,j]$构成了不含前导零的能被三整除的整数。 \(|S|\le 4\times 10^6\) solution 题面不给数据范围真** 先用$manacher$求出来所
阅读全文
摘要:题目链接 思路 看到回文串,自然就会想到 。 还要求子串长度。那就用$SAM$。 所以每次用manacher找到一个回文串,都在$SAM$上查询其出现次数。 在$SAM$上查询的时候,肯定不能暴力找。先找到当前回文串的结束位置。然后用倍增法往上跳。一直跳到长度和当前回文串长度相同。 这个题有点卡空间
阅读全文
摘要:Manacher算法??? Mancher算法是用来找最大回文串的,因为功能太过单一,所以用处不是很多,但是在找回文串方面还是很强大的。 大致原理: 枚举回文串的中点,用p[i]表示以i为中心的最大回文串的长度。然后对p[i]进行扩展就可以了。 最简单的扩展就是当s[i+p[i]+1]=s[i-p[
阅读全文

浙公网安备 33010602011771号