随笔分类 -  字符串——manacher

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

点击右上角即可分享
微信分享提示