陆陆续续调了3天上午,终于调出来了。
这题题解给的代码是错的。
错在:每个字符要加上一个’\0′,这样可以处理:bb,bba这种情况.
下面说下这题的思路:
先不考虑算法。
对于一个询问,把k个字符串进行按字典序排序。
位置相近的字符串肯定LCP越大。
所以恰好L个字符串有LCP,且其他没有,一定是排序后的连续L个。
我们排序后枚举每个位置[i,i+L-1]
看看LCP(i,–,i-L+1),这么些字符串的LCP是多少,然后减去max(LCP(i-1,……i,-L+1),LCP(i,……i,-L