AT_abc419_d [ABC419D] Substr Swap

题目描述

给定长度为 $N$ 的小写英文字母字符串 $S$ 和 $T$,以及 $M$ 对整数 $(L_1,R_1),(L_2,R_2),\ldots,(L_M,R_M)$。 请依次对 $i=1,2,\ldots,M$ 执行以下操作: - 交换 $S$ 的第 $L_i$ 到第 $R_i$ 个字符与 $T$ 的第 $L_i$ 到第 $R_i$ 个字符。 - 例如,如果 $S$ 为 `abcdef`,$T$ 为 `ghijkl`,且 $(L_i,R_i)=(3,5)$,则 $S$ 和 $T$ 变为 `abijkf` 和 `ghcdel`。 请输出经过 $M$ 次操作后的字符串 $S$。

输入格式

输入按以下格式从标准输入读入: > $N$ $M$ > $S$ > $T$ > $L_1$ $R_1$ > $L_2$ $R_2$ > $\vdots$ > $L_M$ $R_M$

输出格式

输出经过 $M$ 次操作后的字符串 $S$。

说明/提示

### 样例解释 1 初始时,$S$ 和 $T$ 分别为 `apple` 和 `lemon`。 - 第 $i=1$ 次操作后,$S$ 和 $T$ 分别变为 `aemoe` 和 `lppln`。 - 第 $i=2$ 次操作后,$S$ 和 $T$ 分别变为 `lppln` 和 `aemoe`。 - 第 $i=3$ 次操作后,$S$ 和 $T$ 分别变为 `lpple` 和 `aemon`。 因此,经过三次操作后的字符串 $S$ 为 `lpple`。 ### 数据范围 - $1\leq N\leq 5\times 10^5$ - $1\leq M\leq 2\times 10^5$ - $S$ 和 $T$ 均为长度为 $N$ 的小写英文字母字符串。 - $1\leq L_i\leq R_i\leq N$ - $N$、$M$、$L_i$、$R_i$ 均为整数。 由 ChatGPT 4.1 翻译