本文主要是介绍给定n个字符串s[1...n], 求有多少个数对(i, j), 满足i < j 且 s[i] + s[j] == s[j] + s[i]?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
思路:
对于字符串a,b, (a.size() < b.size()), 考虑对字符串b满足什么条件:
由1、3可知a是b的前后缀,由2知b有一个周期是3,即a.size(),所以b是用多个a拼接而成的,有因为a是b的前后缀,所以a和b的循环节相同,且a,b均恰好由整数个循环节组成。循环节长度 = 字符串长度 - 最大公共前后缀长度。
这篇关于给定n个字符串s[1...n], 求有多少个数对(i, j), 满足i < j 且 s[i] + s[j] == s[j] + s[i]?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!