U140359 批量处理
题目背景
不知为何,人们常常把“程序员”一词和繁重而单调的工作、秃顶、快速变老和家庭破败等负面词汇联系在一起。$Seaway$一直对这种看法持以怀疑。直到他找到了一份工作,他发现这份工作恰恰像上面描述的那样,这份工作叫“批处理工程师”......
题目描述
顾名思义,批处理工程师的任务就是对一堆数据进行批量处理。这种对数据的批量处理包括但不限于做表格、写文案、做PPT、文档编辑等。现在,$Seaway$的上家交给他一个这样的任务:维护集合。
具体地,这个任务被这样描述:
最初始的集合是空集。这个任务有一个维护值域$D$。一共有3种操作可以对当前集合进行维护。分别是:
1号操作:把$[l,r]$中在集合中没有出现过的数添加到集合中。
2号操作:把$[l,r]$中在集合中出现过的数从集合中删除。
3号操作:对$[l,r]$中同时执行1号、2号操作。这里的同时执行是指:把$[l,r]$中在集合中没有出现过的数添加到集合中,同时,把$[l,r]$中在集合中出现过的数从集合中删除。
并且,为了检查$Seaway$的任务完成情况,他的上家在每次操作之后都会检查他操作的正确性。具体地,一个检查被这样描述:
每次操作后,输出整个集合的$mex$值。
注:$mex$值的定义是:在集合中没有出现过的最小的数。
输入格式
从文件$operate.in$中读入数据。
第一行一个整数$n$,表示操作数量。
接下来的$n$行,每行三个整数$opt,l,r$,其中$opt$表示操作种类,$l,r$表示操作区间。
输出格式
输出到文件$operate.out$中。
共$n$行,每行一个整数$ans_i$,表示第$i$次操作后的整个集合的$mex$值。
说明/提示
【**数据范围**】
对于$10\%$的数据,$1\le n\le 100,1\le l,r\le 100$。
对于另$20\%$的数据,$1\le n\le 100,1\le l,r\le 10^4$。
对于另$30\%$的数据,$1\le n\le 100,1\le l,r\le 2\times 10^6$。
对于全部数据, 有$1\le n\le 10^5,1\le l,r\le 10^{18}$。