CF817F MEX Queries
题目描述
给定一个整数集合,初始时它是空的。你需要执行 $n$ 次查询。
查询共有三种类型:
- 1 $l$ $r$ — 将区间 $[l, r]$ 内所有尚未包含的数加入集合。
- 2 $l$ $r$ — 将区间 $[l, r]$ 内所有已包含的数从集合中删除。
- 3 $l$ $r$ — 翻转区间 $[l, r]$,即将该区间内所有已包含的数删除,未包含的数加入集合。
每次查询后,你都需要输出当前集合的 MEX,即最小的未包含在集合中的正整数(要求 MEX $\geq 1$)。
输入格式
第一行包含一个整数 $n$,表示查询次数($1 \leq n \leq 10^{5}$)。
接下来的 $n$ 行,每行包含三个整数 $t, l, r$($1 \leq t \leq 3,\, 1 \leq l \leq r \leq 10^{18}$),分别表示查询的类型以及左右端点。
输出格式
对于每次查询,输出当前集合的 MEX。
说明/提示
以下为第一个样例每次操作后集合的内容:
1. $\{3, 4\}$ — 添加区间 $[3,4]$
2. $\{1,2,5,6\}$ — 区间 $[1,6]$ 内的数 $3,4$ 被删除,其余数被加入
3. $\{5,6\}$ — 集合中的 $1,2$ 被删除
由 ChatGPT 5 翻译