P7560 [JOISC 2021] フードコート (Day1)
题目背景
本题数据保留一部分,请在 [此处](https://www.ioi-jp.org/camp/2021/2021-sp-tasks/day1/foodcourt-data.zip) 获取完整数据。
题目描述
有 $N$ 家书虫食品店,有 $M$ 个家庭来享受用书虫制作的美味食物。
因为食品店十分火爆,所以顾客需要排队,刚开始所有队列都是空的。
今天食品店又全部开张了,发生了 $Q$ 个事件:
- **加入事件**:编号位于区间 $[L,R]$ 内的所有食品店中,都有编号为 $C$ 的家庭加入队尾,每个满足要求的食品店队尾都加入了 $K$ 个人。
- **离开事件**:编号位于区间 $[L,R]$ 内的所有食品店中,如果队列有超过 $K$ 个人,那么队列的前 $K$ 个人离开队列,否则队列里的所有人离开队列。
- **白嫖事件**:如果编号为 $A$ 的食品店的队列中有大于等于 $B$ 个人,那么食品店就会赠送从队列开头开始数第 $B$ 个人一份秘制书虫,否则店员会吃掉书虫。
求每次 **白嫖事件** 是否有顾客被赠送了秘制书虫,如果有的话,求顾客所在的家庭。
输入格式
无
输出格式
无
说明/提示
#### 样例 1 解释
我们用 $Q_i(a_1,a_2,\cdots,a_k)$ 代表第 $i$ 个食品店的队列,$a_1$ 为队首,$a_k$ 为队尾,其中 $a_i=p$ 就代表第 $i$ 个位置的人来自第 $p$ 个家庭。特殊地,$Q_i()$ 就代表当前队列为空。
根据样例 1 的这几个事件:
- 第 $1$ 个 **加入事件**:
$$Q_1(),Q_2(5,5),Q_3(5,5)$$
- 第 $2$ 个 **加入事件**:
$$Q_1(2,2,2,2),Q_2(5,5,2,2,2,2),Q_3(5,5)$$
- 第 $3$ 个 **白嫖事件**,第 $2$ 个食品店的第 $3$ 个人(第 $2$ 个家庭)被送上秘制书虫。
- 第 $4$ 个 **离开事件**:
$$Q_1(2),Q_2(2,2,2),Q_3()$$
- 第 $5$ 个 **白嫖事件**,第 $1$ 个食品店不够 $2$ 个人,店员会吃掉书虫。
- 第 $6$ 个 **加入事件**:
$$Q_1(2),Q_2(2,2,2,4,4),Q_3(4,4)$$
- 第 $7$ 个 **白嫖事件**,第 $3$ 个食品店的第 $2$ 个人(第 $4$ 个家庭)被送上秘制书虫。
#### 数据规模与约定
**本题采用捆绑测试。**
- Subtask 1(2 pts):$N,Q \le 2000$,满足性质 A。
- Subtask 2(5 pts):$N,Q \le 2000$。
- Subtask 3(7 pts):$N,Q \le 65000$,满足性质 B。
- Subtask 4(21 pts):$M=1$。
- Subtask 5(15 pts):$N,Q \le 65000$,满足性质 A。
- Subtask 6(13 pts):$N,Q \le 65000$,满足性质 C。
- Subtask 7(26 pts):$N,Q \le 65000$。
- Subtask 8(11 pts):无特殊限制。
对于 $100\%$ 的数据:
- $1 \le N,M,Q \le 25 \times 10^4$。
- $T \in \{1,2,3\}$。
- 对于所有 **加入事件**,$1 \le L \le R \le N$,$1 \le C \le M$,$1 \le K \le 10^9$。
- 对于所有 **离开事件**,$1 \le L \le R \le N$,$1 \le K \le 10^9$。
- 对于所有 **白嫖事件**,$1 \le A \le N$,$1 \le B \le 10^{15}$。
- 至少有一个 **白嫖事件**。
有以下若干个性质:
- 性质 A:对于所有 **加入事件** 和 **离开事件**,有 $K=1$。
- 性质 B:对于所有 **加入事件**,有 $R-L \le 10$ 和 $K=1$。
- 性质 C:只有 **加入事件** 和 **白嫖事件**。
#### 说明
翻译自 [第20回日本情報オリンピック 春季トレーニング合宿](https://www.ioi-jp.org/camp/2021/2021-sp-tasks/index.html) [Day1 C フードコート (Food Court) 的英文版本](https://www.ioi-jp.org/camp/2021/2021-sp-tasks/day1/foodcourt-en.pdf)。