#abc272f. [abc272_f]Two Strings

[abc272_f]Two Strings

问题描述

给定长度为 NN 的字符串 SSTT,它们由小写英文字母组成。

对于字符串 XX 和整数 ii,定义 f(X,i)f(X,i) 为执行以下操作 ii 次后得到的字符串:

  • 移除 XX 的第一个字符,并将该字符追加到 XX 的末尾。

找到满足 0i,jN10 \le i,j \le N-1 的整数对 (i,j)(i,j) 的数量,使得 f(S,i)f(S,i) 在字典序上小于或等于 f(T,j)f(T,j)

什么是字典序?

简单来说,字典序是词在词典中排列的顺序。我们通过描述一个算法来形式化地定义它,该算法用于找到由小写英文字母组成的两个不同字符串 SSTT 的顺序。

这里,我们用 SiS_i 表示字符串 SS 的第 ii 个字符。同时,如果 SS 在字典序上小于 TT,我们记作 S<TS < T,如果 SS 在字典序上大于 TT,我们记作 S>TS > T

  1. LLSSTT 长度中的最小值。对于 i=1,2,,Li=1,2,\dots,L,我们检查是否有 SiS_i 等于 TiT_i
  2. 如果存在 ii 使得 SiTiS_i \neq T_i,设 jj 是最小的满足条件的 ii。比较 SjS_jTjT_j,如果在字母表顺序中 SjS_j 小于 TjT_j,则通过确定 S<TS < T 来终止算法,如果不满足这个条件,则通过确定 S>TS > T 来终止算法。
  3. 如果不存在满足 SiTiS_i \neq T_iii,比较 SSTT 的长度,如果 SS 的长度小于 TT 的长度,则通过确定 S<TS < T 来终止算法,否则通过确定 S>TS > T 来终止算法。

约束条件

  • 1N2×1051 \le N \le 2 \times 10^5
  • SSTT 是长度为 NN 的字符串,由小写英文字母组成。
  • NN 是整数。

输入

输入从标准输入中以以下格式给出:

NN SS TT

输出

输出结果。


示例输入 1

3
adb
cab

示例输出 1

4

满足条件的 (i,j)(i, j) 对有 44 个:(0,0),(0,2),(2,0)(0,0),(0,2),(2,0)(2,2)(2,2)

(i,j)=(1,2)(i,j)=(1,2) 不满足条件,因为 f(S,i)=f(S,i)=dbaf(T,j)=f(T,j)=bca


示例输入 2

10
wsiuhwijsl
pwqoketvun

示例输出 2

56