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 翻译