luogu#P10130. 「Daily OI Round 3」War

    ID: 14091 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>线段树树状数组洛谷原创O2优化

「Daily OI Round 3」War

题目背景

《赤壁之战》是一款开放世界冒险游戏,这意味着从你踏入提瓦特的第一刻起,只要合理规划自己的体力,不论翻山越岭、还是横渡江河,总有办法见到新的风景。

题目描述

nn 条船,船编号为 11nn。每条船上有 mm 个士兵,士兵编号为 11mm

开始时,有若干组船由铁索相连。具体的关系给出如下:

给出 ss 组关系,形如 l1,r1,l2,r2l_1,r_1,l_2,r_2,表示 k[0,r1l1]\forall k \in [0,r_1-l_1],第 l1+kl_1+k 条船与第 l2+kl_2+k 条船相连,保证 r1l1+1=r2l2+1r_1-l_1+1=r_2-l_2+1l1<l2l_1 < l_2

保证 p[1,n]\forall p \in [1,n],最多存在一组关系使得 l2pr2l_2 \le p \le r_2

然后有 qq 个操作,操作如下(操作按照时间先后顺序编号为 1q1 \sim q):

操作 11:向编号为 pp 的船的 [L,R][L,R] 区间的士兵发射一支火箭。这样操作之后,这个区间的所有士兵都会着火。由于铁锁连环的缘故,所有与 pp 直接相连或间接相连的船的 [L,R][L,R] 区间的士兵都会着火。注意,士兵可能着火多次。

操作 22:撤回编号为 pp 的操作,保证这个操作必定是操作 11保证不会多次撤回同一个操作,并且以后的询问都不考虑已经撤销的操作所带来的影响。

操作 33:询问船 pp 上区间为 [L,R][L,R] 的士兵是否全部着火。如果全部着火请输出 Yes,否则输出 No

输入格式

第一行四个整数分别是 n,m,s,qn,m,s,q,含义如题所示。

接下来 ss 行,每行四个整数,表示一个铁索关系。

接下来 qq 行,表示操作。

每行第一个整数 opop 表示操作种类。

  • op=1op=1,你需要输入三个整数 p,L,Rp,L,R,并按照题目要求执行操作 11

  • op=2op=2,你需要输入一个整数 pp,并按照题目要求执行操作 22

  • op=3op=3,你需要输入三个整数 p,L,Rp,L,R,并按照题目要求执行操作 33

输出格式

若干行,表示每个 33 操作的答案。

温馨提示:全部输出 No 或者 Yes 会得到 0 pts0\text{ pts} 的高分。

10 20 2 9
1 5 2 6
7 9 8 10
1 4 1 5
3 6 2 3
2 1
3 6 2 3
1 10 2 7
1 9 3 6
2 6
1 7 8 13
3 8 2 12
Yes
No
Yes
10 10 2 10
1 1 2 2
1 1 8 8
1 2 1 8
1 6 7 8
1 8 7 8
1 9 6 7
3 8 3 3
2 4
1 5 7 8
3 3 3 3
3 6 3 3
2 3
Yes
No
No

提示

【样例解释 #1】

首先给出了两条关系式,第一条表示了 11222233334444555566 的船是相连的。第二条表示了 77888899991010 的船是相连的。

第一个操作向第 44 条船的 1155 号士兵发射火箭,因为 1166 号船是相连的,所以 1166 号船上的 1155 号士兵都着火了。

第二个操作询问第一条船的 2233 号是否着火。显然着火了,所以输出 Yes

第三个操作撤回了第一个操作,所以所有士兵操作后都没有着火。

第四个操作询问第一条船的 2233 号是否着火。显然没有着,所以输出 No

第五个操作将十号船的 [2,7][2,7] 士兵着火,第六个操作将九号船的 [3,6][3,6] 着火。然后第七个操作撤回了第六个操作。注意:目前,第七到十号船的 [2,7][2,7] 的士兵是着火的。

第八号操作将七号船的 [8,13][8,13] 着火,第九个操作询问是否 [2,12][2,12] 全部着火。显然此时已经全部着火了。

【数据范围】

对于全部数据保证:1n1091 \le n\leq 10^91m5×1051 \le m\leq 5\times 10^50q1050 \le q\leq 10^50s2000 \le s\leq 200