D. Restructuring Company
time limit per test
2 seconds
memory limit per test
256 megabytes
output
standard output
即使是最成功的公司也会经历一个危机时期,当你不得不做出艰难的决定——重组、放弃和合并部门、解雇员工以及做其他不愉快的事情。让我们考虑以下公司模型。
有n个人在这家大型软件公司工作。每个人都属于某个部门。最初,每个人在自己的部门从事自己的项目(因此,每个公司最初由n个部门组成,每个部门一人)。
然而,公司的艰难时刻已经到来,管理层不得不聘请一名危机管理人员,他将重建工作流程,以提高效率。让我们使用team(person)来表示person所在的团队。危机管理者可以做出两种类型的决策:
将部门team(x)和team(y)合并为一个包含team(x)和team(y)所有员工的大型部门,其中x和y(1≤x,y≤n)−是一些公司员工中的两个。如果team(x)匹配team(y),那么什么都不会发生。
合并部门team(x),team(x+1),。。。,team(y),其中x和y(1≤x≤y≤n)−公司大约两名员工的人数。
此时,危机管理者有时会怀疑员工x和y(1≤x,y≤n)是否在同一部门工作。
帮助危机管理者并回答他的所有问题。
输入
输入的第一行包含两个整数n和q(1≤n≤200000,1≤q≤500000),即公司员工的数量和危机经理的查询数量。
接下来的q行包含危机管理器的查询。每个查询看起来像type x y,其中。如果type=1或type=2,则查询表示危机管理者关于分别合并第一和第二类type的决定。如果type=3,那么您的任务是确定员工x和y是否在同一部门工作。注意,在任何type的查询中,x都可以等于y。
输出
对于类型3的每个问题,根据对应人员是否在同一部门工作,打印“是”或“否”(不带引号)。
Even the most successful company can go through a crisis period when you have to make a hard decision − to restructure, discard and merge departments, fire employees and do other unpleasant stuff. Let's consider the following model of a company.
There are
n people working for the Large Software Company. Each person belongs to some
department. Initially, each person works on his own project in his own department (thus, each company initially consists of
n departments, one person in each).
However, harsh times have come to the company and the management had to hire a crisis manager who would rebuild the working process in order to boost efficiency. Let's use
team(person) to represent a team where person
person works. A crisis manager can make decisions of two types:
-
Merge departments team(x) and team(y) into one large department containing all the employees of team(x) and team(y), where x and y (1≤x,y≤n) − are numbers of two of some company employees. If team(x) matches team(y), then nothing happens.
-
Merge departments team(x),team(x+1),...,team(y), where x and y (1≤x≤y≤n) − the numbers of some two employees of the company.
At that the crisis manager can sometimes wonder whether employees
x and
y (
1≤x,y≤n) work at the same department.
Help the crisis manager and answer all of his queries.
Output
For each question of type
3 print "
YES" or "
NO" (without the quotes), depending on whether the corresponding people work in the same department.