QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 512 MB 満点: 100

#3094. 美食广场

統計

IOI 中心是一个配备了生活设施的培训中心。中心内有一个供大型团体使用的大型美食广场。美食广场内有 $N$ 个排成一行的店铺,编号从 $1$ 到 $N$。每家店铺前都有一个供顾客排队的队列。顾客会在每个队列中排队。

今天,共有 $M$ 个团体入住 IOI 中心,编号从 $1$ 到 $M$。为了方便聊天,各团体的成员会以一种相当奇怪的方式排队。

在这个美食广场中,店铺有时会向队列中的顾客免费赠送甜点。在美食广场工作的 JOI 君的任务是记录下领取免费甜点的顾客所属的团体。

店铺关闭时,队列中没有顾客。今天,当店铺营业时,队列中发生了 $Q$ 次事件。第 $i$ 次事件是以下三种之一:

  • Join:对于编号在 $L_i$ 到 $R_i$(含)之间的每一家店铺,来自团体 $C_i$ 的 $K_i$ 名顾客加入到队列的末尾。
  • Leave:对于编号在 $L_i$ 到 $R_i$(含)之间的每一家店铺,如果队列中已有 $K_i$ 名或更多的顾客,则队列最前面的 $K_i$ 名顾客离开。否则,队列中的所有顾客都离开。
  • Service:如果店铺 $A_i$ 的队列中有 $B_i$ 名或更多的顾客,则该店铺向队列中从前往后数的第 $B_i$ 名顾客免费赠送一份甜点。否则,店铺工作人员吃掉这份免费甜点。

不幸的是,JOI 君丢失了领取甜点的顾客所属团体的记录。他计划利用上述 $Q$ 次事件的信息来恢复记录。

请编写一个程序,给定店铺数量、团体数量、事件数量以及事件的详细信息,确定对于每一次“Service”事件,是否有顾客领取了免费甜点。如果顾客领取了免费甜点,程序应找出该顾客所属的团体编号。

输入格式

从标准输入读取以下数据。所有给定的值均为整数。

$N \ M \ Q$ (Query 1) . . . (Query Q)

在第 $i$ 次查询($1 \le i \le Q$)中,输入一行空格分隔的整数。设第一个整数为 $T_i$。则第 $i$ 次查询的含义如下:

  • 如果 $T_i = 1$,后面跟着四个整数 $L_i, R_i, C_i, K_i$。这意味着第 $i$ 次事件是“Join”,对于编号在 $L_i$ 到 $R_i$(含)之间的每一家店铺,来自团体 $C_i$ 的 $K_i$ 名顾客加入到队列的末尾。
  • 如果 $T_i = 2$,后面跟着三个整数 $L_i, R_i, K_i$。这意味着第 $i$ 次事件是“Leave”,对于编号在 $L_i$ 到 $R_i$(含)之间的每一家店铺,如果队列中已有 $K_i$ 名或更多的顾客,则队列最前面的 $K_i$ 名顾客离开。否则,队列中的所有顾客都离开。
  • 如果 $T_i = 3$,后面跟着两个整数 $A_i, B_i$。这意味着第 $i$ 次事件是“Service”,如果店铺 $A_i$ 的队列中有 $B_i$ 名或更多的顾客,则该店铺向队列中从前往后数的第 $B_i$ 名顾客免费赠送一份甜点。否则,店铺工作人员吃掉这份免费甜点。

输出格式

对于每一次“Service”事件,即对于每个 $T_i = 3$ 的事件 $i$($1 \le i \le Q$),输出一行。如果顾客在第 $i$ 次事件中领取了免费甜点,输出该顾客所属的团体编号。如果店铺工作人员在第 $i$ 次事件中吃掉了免费甜点,输出 $0$。

数据范围

  • $1 \le N \le 250\,000$
  • $1 \le M \le 250\,000$
  • $1 \le Q \le 250\,000$
  • $T_i$ 为 $1, 2$ 或 $3$($1 \le i \le Q$)
  • 若 $T_i = 1$,则 $1 \le L_i \le R_i \le N, 1 \le C_i \le M, 1 \le K_i \le 1\,000\,000\,000$($1 \le i \le Q$)
  • 若 $T_i = 2$,则 $1 \le L_i \le R_i \le N, 1 \le K_i \le 1\,000\,000\,000$($1 \le i \le Q$)
  • 若 $T_i = 3$,则 $1 \le A_i \le N, 1 \le B_i \le 1\,000\,000\,000\,000\,000 \ (= 10^{15})$($1 \le i \le Q$)
  • 至少存在一个 $i$ 使得 $T_i = 3$($1 \le i \le Q$)

子任务

  1. (2 分) $N \le 2\,000, Q \le 2\,000$。对于每个 $T_i = 1$ 或 $T_i = 2$ 的事件 $i$,满足 $K_i = 1$。
  2. (5 分) $N \le 2\,000, Q \le 2\,000$。
  3. (7 分) $N \le 65\,000, Q \le 65\,000$。对于每个 $T_i = 1$ 的事件 $i$,满足 $R_i - L_i \le 10$ 且 $K_i = 1$。
  4. (21 分) $M = 1$。
  5. (15 分) $N \le 65\,000, Q \le 65\,000$。对于每个 $T_i = 1$ 或 $T_i = 2$ 的事件 $i$,满足 $K_i = 1$。
  6. (13 分) $N \le 65\,000, Q \le 65\,000$。对于每个事件 $i$,满足 $T_i = 1$ 或 $T_i = 3$。
  7. (26 分) $N \le 65\,000, Q \le 65\,000$。
  8. (11 分) 无附加限制。

样例

样例输入 1

3 5 7
1 2 3 5 2
1 1 2 2 4
3 2 3
2 1 3 3
3 1 2
1 2 3 4 2
3 3 2

样例输出 1

2
0
4

样例输入 2

3 4 7
1 1 2 1 1
1 1 3 4 1
2 2 3 1
2 1 3 1
1 1 2 2 1
3 1 1
3 3 2

样例输出 2

4
0

样例输入 3

183326 218318 22
1 106761 160918 151683 574906362
3 68709 1
1 29240 156379 22166 957318472
1 14054 181502 82845 97183925
2 112033 122908 587808357
2 57819 160939 215041262
3 36674 524274467
1 35854 69866 32334 322730299
1 1384 7230 115069 454256926
1 44192 158235 8750 84192710
3 54457 1077490708
2 10592 110384 979714505
2 44594 79244 311724477
3 160965 97183926
1 88748 101697 39148 373927458
3 41166 58039001
1 91501 137591 205480 958877326
2 77775 169655 135756956
1 12497 57047 60918 15666764
1 47839 51716 144688 732270998
3 114514 774994894
3 48645 169986425

样例输出 3

0
22166
32334
0
82845
8750
60918

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.