1 solutions
-
0
Guest MOD
- 1
Information
- ID
- 1599
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- (None)
- # Submissions
- 36
- Accepted
- 4
- Uploaded By
首先来进行分析,上面情况下字符串满足规则。题意中的规则过于复杂,我们从简单的情况来进行分析。首先对于长度为 2 的连续子串,只要两个字符不同就满足。对于长度为 3 的,要求三个字符各不相同。当考虑长度大于 3 的连续子串时,我们发现只要其内部没有不合法的长度为 3 的子串,它就一定合法。例如 abaca 是不合法的子串,那么其内部一定有长度为 3 的不合法子串,如 aba。
有了上述性质,我们尝试使用动态规划解决该题。设 fi,j,k 表示前 i 个字符中,第 i−1 个字符为 j,第 i 个字符为 k,且到第 i 个字符为止的串合法。转移时保证下一个字符与前两个字符不同即可。
By signing up a Hydro universal account, you can submit code and join discussions in all online judging services provided by us.