本道题目为本场比赛的 Bonus 题目,整体思维、难度、技巧以及知识面上与 S 组略有不同,欢迎各位强者来挑战~
赛时公告(12:29):本题的大样例和数据更新。
Description
有 n 个集合 S1,S2,⋯,Sn,初始全为空,需要 支持三种操作:
- 1 l r x:将 x 插入 Sl,⋯,Sr。
- 2 l r x:将 x 从 Sl,⋯,Sr 删除。
- 3 u v:询问 Su 是否为 Sv 的子集。
请留意数据范围。
第一行两个正整数 n,m,表示集合个数和操作个数。
接下来 m 行,每行为以下三种形式之一:
- 1 l r x
- 2 l r x
- 3 u v
分别表示一种操作。
Output
对于每个 3 操作,输出一行 YES
或 NO
以回答询问。
Samples
5 10
1 1 5 1
1 2 4 2
3 1 2
3 2 2
3 2 3
1 3 3 3
3 1 3
2 2 4 2
1 5 5 5
3 5 3
YES
YES
YES
YES
NO
最后一次修改操作 |
S1 |
S2 |
S3 |
S4 |
S5 |
1 1 5 1 |
{1} |
{1} |
{1} |
1 2 4 2 |
{1,2} |
{1,2} |
{1,2} |
1 3 3 3 |
{1,2,3} |
2 2 4 2 |
{1} |
{1,3} |
{1} |
1 1 5 1 |
{1,5} |
以下的全部样例请参考下发文件:
戳这里下载下发文件
见下发文件中的 ex_ds2.in
见下发文件中的 ex_ds2.ans
此样例符合子任务 2 的限制。
见下发文件中的 ex_ds3.in
见下发文件中的 ex_ds3.ans
此样例符合子任务 3 的限制。
见下发文件中的 ex_ds4.in
见下发文件中的 ex_ds4.ans
此样例符合子任务 4 的限制。
见下发文件中的 ex_ds5.in
见下发文件中的 ex_ds5.ans
此样例符合子任务 5 的限制。
见下发文件中的 ex_ds6.in
见下发文件中的 ex_ds6.ans
此样例符合子任务 6 的限制。
见下发文件中的 ex_ds7.in
见下发文件中的 ex_ds7.ans
此样例符合子任务 7 的限制。
Limitation
对于所有数据,有:
- 1≤n,m≤105
- 1≤x≤105
- 1≤l≤r≤105
- 1≤u,v≤105
- 对于 1 操作,保证操作之前这些集合中均不包含 x。
- 对于 2 操作,保证在这次操作之前有一个对应的 1 l r x 操作且这个操作插入的 x 没被删除。
- 对于 3 操作,令 LIM=∣Sv∣−∣Su∣,保证 0≤LIM≤2,其中 ∣Su∣,∣Sv∣ 分别表示集合 u,v 的大小。
子任务 |
特殊性质 |
分值 |
1 |
答案均为 NO |
1 |
2 |
n,m≤2000 |
5 |
3 |
x≤10 |
12 |
4 |
所有1 操作的 x 互不相同,没有 2 操作 |
21 |
5 |
LIM=0 |
12 |
6 |
LIM≤1 |
23 |
7 |
无 |
26 |
Fun Fact: subtask 1 本来设置的是 0.45 分,但因为 OJ 显示不了小数,就改成 1 了。