P14963 [LBA-OI R2 B] 何意味

题目描述

定义对序列 $a = [a_1, \ldots, a_n]$ 的一次 **何意味** 操作为以下两者之一(任选一个操作): - 选择一个 $1 \leq i < n$ 满足 $a_i = a_{i+1}$,并删去 $a_i, a_{i+1}$; - 选择任意整数 $x$,并在序列任意的相邻位置之间(或开头 / 结尾)插入连续两次 $x$。 给定序列 $s_1, \ldots, s_n$ 和 $t_1, \ldots, t_n$,你需要处理三种操作共 $m$ 次: 1. 给出 $l_1, r_1, l_2, r_2$。你需要判断对子串 $s_{l_1}, \ldots, s_{r_1}$ 进行任意次 **何意味** 操作能否与子串 $t_{l_2}, \ldots, t_{r_2}$ 完全相同。 2. 给出 $p, x$。将 $s_p$ 修改为 $x$。 3. 给出 $q, y$。将 $t_q$ 修改为 $y$。

输入格式

第一行,两个整数 $n, m$,分别表示序列长度和操作次数。 第二行,$n$ 个整数 $s_1, \ldots, s_n$。 第三行,$n$ 个整数 $t_1, \ldots, t_n$。 接下来 $m$ 行,每行对应一次操作。每行的第一个整数 $o \in \{1, 2, 3\}$ 代表与题目描述中相对应的操作编号: - 若 $o = 1$ 则包含四个整数 $l_1, r_1, l_2, r_2$; - 若 $o = 2$ 则包含两个整数 $p, x$; - 若 $o = 3$ 则包含两个整数 $q, y$。

输出格式

对于每次编号为 $1$ 的操作,输出一行一个字符串 `Yes` 或 `No` 表示答案。

说明/提示

#### 样例 1 解释 最初序列是 `1 2 2 1`,可能的操作如下: 1. 删去连续两个 `2` 得到 `1 1`。 2. 删除连续两个 `1` 得到空串。 3. 在开头添加连续两个 `3` 得到 `3 3`。 4. 在第一个位置后添加连续两个 `4` 得到 `3 4 4 3`。 此时与 $t$ 完全相同,故输出 `Yes`。 #### 数据范围 | 子任务编号 |$\max(n, m) \leq$ | $o = 1$ | 分值 | | :-------------: | :----------------------: | :----------: | :-----: | | $1$ | $2000$ | $\checkmark$ | $5$ | | $2$ | ^ | $✗$ | $10$ | | $3$ | $10^5$ | $\checkmark$ | $10$ | | $4$ | $5\times 10^5$ | ^ | $20$ | | $5$ | $5\times 10^4$ | $✗$ | $15$ | | $6$ | $10^5$ | ^ | $15$ | | $7$ | $5\times 10^5$ | ^ | $25$ | 对于所有数据:保证 $1 \leq n \leq 5\times 10^5$,$1 \leq m \leq 5\times 10^5$,$0 \leq s_i, t_i, x, y \leq 5\times 10^5$,$1 \leq l_1 \leq r_1 \leq n$,$1 \leq l_2 \leq r_2 \leq n$,$1 \leq p, q \leq n$。