最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 区间连通性

C++ 少儿编程 1161浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

【题目描述】

对于两个区间$(a,b)(c,d)$,若$c < a < d$或$c < b < d$,则可以从$(a,b)$走到$(c,d)$,现在有以下两种操作:

1. 给定$1;x;y(x<y)$,表示在区间集合中添加($x,y)$这个区间,保证新加入的这个区间长度一定比之前的所有区间长度长。

2. 给定$2;a;b(a≠b)$,表示询问是否存在一条路径能从第$a$个区间走到第$b$个区间。

初始时区间集合为空,现在请你来回答所有的询问。

【输入】

第一行一个整数$n$表示操作数目。

接下来$n$行每行三个整数,表示一个操作,格式见问题描述。

【输出】

对每个询问输出一行一个字符串,若存在可走的路径输出“$YES$”,否则输出“$NO$”(不含引号)。

【输入样例】

5
1 1 5
1 5 11
2 1 2
1 2 9
2 1 2

【输出样例】

NO
YES

【提示】

【数据规模】

对于30%的数据,$1≤n≤1000$。

对于100%的数据,$1≤n≤10^5$,区间端点在$32$位有符号整数范围内。

您必须 登录 才能发表评论!