AT_abc441_g [ABC441G] Takoyaki and Flip

题目描述

有 $N$ 个盘子从左到右排成一条直线。我们将从左数的第 $i$ 个盘子($1\le i\le N$)称为盘子 $i$。初始状态下,所有盘子均**正面朝上**,且每个盘子里都没有放章鱼烧。 请你处理总计 $Q$ 次的以下 $3$ 种类型的询问: - **类型 $1$**:给定整数 $L,R,X$。对于满足 $i=L,L+1,\ldots,R$ 的所有盘子 $i$,若该盘子**正面朝上**,则在盘子 $i$ 中放入 $X$ 个章鱼烧。 - **类型 $2$**:给定整数 $L,R$。对于满足 $i=L,L+1,\ldots,R$ 的所有盘子 $i$,若该盘子里有**至少 $1$ 个**章鱼烧,则将盘子内的章鱼烧全部吃完;随后**翻转**这个盘子(正面朝上则翻为反面朝上,反之则翻为正面朝上)。 - **类型 $3$**:给定整数 $L,R$。输出盘子 $L, L+1, \dots, R$ 中,章鱼烧数量的**最大值**。

输入格式

输入数据按以下格式给出: > $N$ $Q$ > > $\mathrm{query}_1$ > > $\mathrm{query}_2$ > > $\vdots$ > > $\mathrm{query}_Q$ 其中 $\mathrm{query}_i$ 表示第 $i$ 次询问($1\le i\le Q$),输入格式为以下两种之一: > $t$ $L$ $R$ $X$ > $t$ $L$ $R$ 两种格式分别对应:第 $i$ 次询问的类型为 $t$,附带的参数为 $L,R,X$ 或 $L,R$。**类型 $1$** 的询问采用前一种格式,其余类型的询问采用后一种格式。

输出格式

设**类型 $3$** 的查询总数为 $q$,请输出 $q$ 行答案。其中第 $i$ 行($1\le i\le q$)对应第 $i$ 次**类型 $3$** 查询的结果。

说明/提示

### 样例 #1 解释 每次查询执行后,各个盘子的状态和章鱼烧数量如下表所示。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc441_g/c34e89e59075e52db4f956ca1d1c634b0b7110e4327a6c6e8d76db0e4f5b67bd.png) 处理第 $2$ 次询问时,盘子 $2$ 和盘子 $3$ 中章鱼烧数量较多的是盘子 $3$,因此第一行输出盘子 $3$ 中的章鱼烧数量 $4$。 处理第 $5$ 次询问时,盘子 $1$ 至盘子 $6$ 中章鱼烧数量最多的是盘子 $5$,因此第二行输出盘子 $5$ 中的章鱼烧数量 $6$。 处理第 $6$ 次询问时,盘子 $2$ 和盘子 $3$ 中章鱼烧数量较多的是盘子 $2$,因此第三行输出盘子 $2$ 中的章鱼烧数量 $2$。 ### 样例 2 解释 请注意,**反面朝上**的盘子中**无法放入**任何章鱼烧。 同时请注意,答案可能会超过 $2^{32}$。 ### 数据范围 - $1\le N\le 2\times 10^5$ - $1\le Q\le 2\times 10^5$ - 所有询问均满足 $1\le L\le R\le N$ - **类型 $1$** 询问满足 $1\le X\le 10^9$ - 输入数据保证至少存在 $1$ 次**类型 $3$** 询问 - 所有输入均为整数