1 build
1.1 Description
从前有一个王国,里面有n 座城市,一开始两两不连通。现在国王将进行m 次命令,命令可
能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命令执行之后,城市v 经过任
意多条道路所能够到达的城市的数目(包括城市v)。
1.2 Input
第一行两个整数n;m,表示城市数和命令数。
接下来m 行,每行三个整数t; x; y,若t 为1 则表示为第一种命令,t 为2 则表示为第二种命
令。为了强制要求在线算法,u = x + lastans; v = y + lastans,其中lastans 为上次查询命令的
结果(若之前没有查询则为0)。
1.3 Output
对于每个查询命令,输出一行一个整数,表示查询的结果。
1.4 Sample Input
5 5
1 1 2
2 0 1
1 1 2
1 0 4
2 2 1
1.5 Sample Output
1
3
1.6 Hint
第一次命令:连接1、2 城市。
第二次命令:查询1 号城市在第0 次命令做完之后,能够到达的点数,为1。并将lastans 设
为1 。
第三次命令:连接2、3 城市。
第四次命令:连接1、5 城市。
第五次命令:查询2 号城市在第3 次命令做完之后,能够到达的点数,为3。并将lastans 设
为3 。
1.7 Note
对于30% 的数据,1 <= n;m <= 5000。
对于另外20% 的数据,对于第i 条命令,如果是查询命令,则有u = i

04-29 04:31