内存限制:512 MiB
时间限制:2000 ms
标准输入输出
题目类型:VJudge(洛谷)
评测方式:VJudge
上传者:
匿名
定义对序列 的一次 何意味 操作为以下两者之一(任选一个操作):
- 选择一个 满足 ,并删去 ;
- 选择任意整数 ,并在序列任意的相邻位置之间(或开头 / 结尾)插入连续两次 。
给定序列 和 ,你需要处理三种操作共 次:
- 给出 。你需要判断对子串 进行任意次 何意味 操作能否与子串 完全相同。
- 给出 。将 修改为 。
- 给出 。将 修改为 。
第一行,两个整数 ,分别表示序列长度和操作次数。
第二行, 个整数 。
第三行, 个整数 。
接下来 行,每行对应一次操作。每行的第一个整数 代表与题目描述中相对应的操作编号:
- 若 则包含四个整数 ;
- 若 则包含两个整数 ;
- 若 则包含两个整数 。
对于每次编号为 的操作,输出一行一个字符串 Yes 或 No 表示答案。
样例输入 1
4 1
1 2 2 1
3 4 4 3
1 1 4 1 4
样例输出 1
样例输入 2
10 10
6 6 5 3 0 9 2 0 0 0
5 3 4 7 4 4 7 4 7 7
3 5 8
3 4 8
1 3 4 1 2
2 5 5
3 10 8
1 6 8 1 7
1 3 4 1 2
2 8 8
2 9 8
1 4 4 2 2
样例输出 2
样例 1 解释
最初序列是 1 2 2 1,可能的操作如下:
- 删去连续两个
2 得到 1 1。
- 删除连续两个
1 得到空串。
- 在开头添加连续两个
3 得到 3 3。
- 在第一个位置后添加连续两个
4 得到 3 4 4 3。
此时与 完全相同,故输出 Yes。
数据范围
对于所有数据:保证 ,,,,,。