CF119D String Transformation
题目描述
设 $s$ 为一个长度为 $n$ 的字符串,其字符编号为 $0$ 到 $n-1$,$i$ 和 $j$ 为整数,满足 $0 \leq i < j < n$。我们定义函数 $f$ 如下:
$$
f(s, i, j) = s[i+1\ldots j-1] + r(s[j\ldots n-1]) + r(s[0\ldots i])
$$
其中 $s[p\ldots q]$ 表示字符串 $s$ 的一个子串,起始于位置 $p$,终止于位置 $q$(包含两端);“+” 表示字符串拼接操作;$r(x)$ 表示将字符串 $x$ 的字符顺序反转后得到的字符串。如果 $j = i+1$,则子串 $s[i+1\ldots j-1]$ 视为空串。
现给定两个字符串 $a$ 和 $b$。请你找到一组 $i$ 和 $j$,使得 $f(a, i, j) = b$。其中 $i$ 应尽可能大;若对于该 $i$ 存在多个合法的 $j$,则选择最小的 $j$。
输入格式
输入的前两行分别为非空字符串 $a$ 和 $b$。每个字符串的长度不超过 $10^{6}$。字符串中的字符均为 ASCII 码 $32$ 到 $126$ 范围内的任意字符。
输出格式
输出两个整数 $i$ 和 $j$,即题目的答案。如果无解,则输出 $-1\ -1$。
说明/提示
由 ChatGPT 4.1 翻译