C. 热封胶片

    传统题 1000ms 256MiB

热封胶片

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

热封胶片

题目描述

有一条胶片,被虚线分成了 nn 个小格,编号为 11nn

一开始,每个小格都是独立的。任意相邻两个小格之间都有一条未封住的缝

接下来有 qq 次操作,操作按输入顺序执行。每次操作为以下两种之一:

  • 1 l r:热封区间 [l,r][l,r]

    这会封住区间内部所有相邻小格之间的缝。也就是说,对于所有满足 li<rl \le i < rii,如果第 ii 个小格和第 i+1i+1 个小格之间的缝还没有封住,就将它封住。

    l=rl = r 时,区间内没有相邻小格,因此不会封住任何缝。

  • 2 x y:询问第 xx 个小格和第 yy 个小格是否已经连成同一片胶片。

一条缝一旦被封住,之后再次热封到它不会产生新的效果。

对于每个询问操作,输出 YESNO

输入格式

第一行输入两个整数 n,qn,q,表示胶片的小格数量和操作次数。

接下来 qq 行,每行输入三个整数 op,a,bop,a,b,表示一次操作:

  • op=1op=1,则表示热封区间 [a,b][a,b]
  • op=2op=2,则表示询问第 aa 个小格和第 bb 个小格是否已经连成同一片胶片。

数据范围

对于所有测试数据,满足:

1n,q2×1051 \le n,q \le 2 \times 10^5

对于每次操作,满足:

op1,2op \in {1,2}

op=1op=1,满足:

1abn1 \le a \le b \le n

op=2op=2,满足:

1a,bn1 \le a,b \le n

输出格式

对于每个 op=2op=2 的询问操作,输出一行。

如果两个小格已经属于同一片胶片,输出 YES;否则输出 NO

输入输出样例 #1

输入 #1

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

输出 #1

NO
YES
NO
YES

说明/提示

第一次询问时,1122 之间的缝还没有封住,所以答案为 NO

执行 1 2 5 后,第 2,3,4,52,3,4,5 个小格连成一片。

执行 1 4 8 后,第 2,3,4,5,6,7,82,3,4,5,6,7,8 个小格连成一片。此时第 11 个小格仍然没有和它们相连,所以询问 1188 的答案为 NO

最后执行 1 1 3 后,第 11 个小格也被接上,所以 1188 属于同一片胶片。

【睿爸信奥】入门组算法周赛(20260516)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-5-16 0:00
结束于
2026-5-23 0:00
持续时间
4 小时
主持人
参赛人数
19