#THU20181C. 数列

    ID: 193 Type: Default 1000ms 512MiB Tried: 1 Accepted: 1 Difficulty: 5 Uploaded By: Tags>清华推研机试考研数据结构平衡树

数列

时间限制: 1.0 秒

空间限制: 512 MB

题目描述

有一个 nn 个元素的数列(下标从 1 开始),元素的值只能是 0,1,20, 1, 2 三个数中的一个,定义四种操作:

  1. 1 i x1~i~x:表示把第 ii 位替换成 xxxx 也只能是 0,1,20, 1, 2 三个数中的一个;
  2. 2 i j2~i~j:表示把下标 [i,j][i, j] 区间中所有的元素值加 11,并对 33 取模;
  3. 3 i j3~i~j:表示把下标 [i,j][i, j] 区间的序列颠倒顺序;
  4. 4 i j4~i~j:表示查询下标 [i,j][i, j] 区间的序列是否存在三个或以上的相同数,若有输出 yes,否则输出 no

输入格式

从标准输入读入数据。

第一行输入正整数 nn

第二行输入 nn 个自然数,保证是 0,1,20, 1, 2 中的一个。

第三行输入一个数 qq,表示操作个数。

接下来 qq 行输入 qq 次操作,格式见【题目描述】。

输出格式

输出到标准输出。

每次第 4 种操作时,输出 yes 或者 no

10
0 0 2 0 1 2 1 1 0 1
10
1 6 2
3 2 4
4 5 6
1 8 0
1 7 2
4 1 9
4 3 9
1 2 2
2 2 9
1 9 1
no
yes
yes

子任务

对于所有数据,保证 n,q2×105n,q\le 2\times 10^5

本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。

子任务编号 分值 nn \le qq \le 操作类型
1 10 10310^3 10510^5 1, 2 ,3, 4
2 10510^5 10310^3 1, 2, 3, 4
3 10510^5 1, 4
4 1, 2, 4
5 3, 4
6 50 2×1052 \times 10^5 1, 2, 3, 4