首页 > 其他分享 >Tandem Repeats?

Tandem Repeats?

时间:2024-03-17 13:12:21浏览次数:14  
标签:匹配 枚举 Tandem Repeats 个字符 解答

先来看看官方解答

官解的大意就是说,如果我们枚举\(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

相关文章