小岛的宝石串

小岛的宝石串

测试数据来自 system/1874

描述

这个题目要你维护一个 0/1 序列,支持以下操作。
(1)Set a b 0/1: 将 [a, b] 区间赋值为 0/1。
(2)Reverse a b: 将 [a, b] 区间的状态翻转。
(3)Count a b 0/1: 统计 [a, b] 区间有多少 0/1。
(4)Longest a b 0/1: 统计 [a, b] 最长一段 0/1 序列的左右端点。。如果没有则输出 -1。(如果有多解则输出字典序最小的一组)
(5)Query a: 询问 a 的颜色,以及它左右和他颜色相同的序列最长可以延伸到哪里。

格式

输入格式

一行 n 表示序列数目。(n <= 100000)
接下来 n 个数字 0/1 表示初始状态。
一行 m 表示操作数(m <= 100000)。接下来 m 个操作。

输出格式

对每个操作输出询问结果。

样例1

样例输入1

10
0 1 1 1 0 1 1 1 0 0
10
Set 1 10 0
Reverse 1 5
Set 6 9 1
Count 8 9 1
Query 3
Query 2
Reverse 1 8
Count 1 7 0
Set 2 5 0
Count 7 9 1

样例输出1

2
1 1 9
1 1 9
7
1

样例2

样例输入2

10
0 0 1 0 0 0 1 1 1 0
10
Longest 2 9 1
Set 2 4 1
Reverse 3 5
Count 5 10 0
Longest 6 6 1
Reverse 3 9
Set 2 10 1
Longest 3 6 1
Reverse 3 5
Query 3

样例输出2

7 9
2
-1
3 6
0 3 5

限制

来源

感谢 温馨与信赖的 岛哥 ^_^ 提供.

信息

ID
1133
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者