测试点:accccacc
如果你遇到形如这样的两个回文区间:
#a#c#c#c#c#a#c#c#
[.....'.....].... 区间一
............[.'.] 区间二
因为权值线段树做法求的实际上是能不能有两个回文区间能拼在一起,这就要求这两个区间不能有交集
然而图示这两个区间是有交集的,但是仍然可以拼在一起(手动模拟可以发现),这是因为这两个区间的接口处是特殊字符
因此提供两种解法
- 特判接口处是特殊字符的情况
stree::ask(1,i-p[i]+1-((x[i-p[i]]=='#')?1:0),n)