后缀平衡树及回文剖分

border

一个串的border定义为既是它前缀又是它后缀的串。
一个串的border的长度排序后构成log个等差数列。
对于长度大于串长一半的border而言,任意两个border相差一个周期。
对于长度小于串场一半的border而言,可以利用如下性质分析:
设border a,b,len a <len b,则a既是原串的border,又是b的border,分析可得。

回文树

一种类似于ac自动机的构建方法。注意0节点的长度是-1,它代表长度为-1的奇回文串(非常诡异)fail[1]的指向是0以方便处理。

回文剖分

由上文得,一个串的border长度为log个等差数列。又因在回文子串上考虑,故border与回文子串一一对应。假设我们考虑的是一个链底的点,那么它的fail必然在之前出现过且是一个border,并且由于等差数列和border性质,在考虑border时获得的dp值与当前用最长的回文串最后划分相同,而当前没有考虑的只有等差数列中最短的一个子串作为最后一个子串时的答案。用之更新即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值