给定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均恰好由整数个循环节组成。循环节长度 = 字符串长度 - 最大公共前后缀长度。

最近更新

  1. Selenium 切换窗口

    2024-01-13 03:34:01       0 阅读
  2. PCA和PCoA分析的python代码

    2024-01-13 03:34:01       0 阅读
  3. 24/07/09数据结构(3.1206)数组OJ单链表实现

    2024-01-13 03:34:01       1 阅读
  4. [Flutter] Android Studio pub get 不起作用

    2024-01-13 03:34:01       1 阅读

热门阅读

  1. final

    2024-01-13 03:34:01       27 阅读
  2. 深入理解C++中的指针与引用

    2024-01-13 03:34:01       41 阅读
  3. 前端文件下载方法(包含get和post)

    2024-01-13 03:34:01       25 阅读
  4. 61. 旋转链表 86. 分隔链表 |面试经典题

    2024-01-13 03:34:01       40 阅读
  5. CycleGAN(Cycle-Consistent Generative Adversarial Network)

    2024-01-13 03:34:01       27 阅读
  6. 【linux】利用echo命令实现不换行的倒计时

    2024-01-13 03:34:01       33 阅读
  7. [树莓派]给树莓派装pyinstaller环境

    2024-01-13 03:34:01       42 阅读
  8. Pandas实战100例 | 案例 9: 数据重塑 - `pivot` 和 `melt`

    2024-01-13 03:34:01       33 阅读