先来看看官方解答
官解的大意就是说,如果我们枚举\(l\)和\(r\),这样时间复杂度是会退化到\(O(n^3)\)的,而我们如果利用转换对象法,考虑枚举\(d\),这样就可以在\(O(1)\)的时间内进行转移,至于如何转移可以看官解(这个时候一定要记住只计数就好了,不用把每一个位置的匹配情况全部记下来)
然后来看看我的做法
其实本质上跟官方解答是差不多的,但是就是沾了个DP的名义
设\(f[i][j]\)表示如果以第\(i\)个字符为开头且第\(i\)个字符匹配到第\(j\)个字符(\(j>i\)),能匹配的最大长度
比如这幅图,\(a\)的\(f\)的值就是\(2\)
然后接下来就很easy了
标签:匹配,枚举,Tandem,Repeats,个字符,解答 From: https://www.cnblogs.com/dingxingdi/p/18078454