题意:给定字符串$s_{1\cdots n}$,多次询问它的一个子串$s_{l\cdots r}$能否被切割成多个部分,使得至少有一个部分出现两次,且切出来的本质不同字符串数最少 做一道题学了两个算法... 首先是一个找出所有形如$aa$的子串的算法,来自于这篇论文,好像没有名字?那就叫它main and lorentz算法吧... 整个算法基于分治,每次找出跨越$s_{l\cdots mid},s_{mid+1\cdots r}$的那些$aa$串,不妨先找那些对称轴在右边的$aa$串,之后反过…