题目名称 3728. [SPOJ 2798]Qtree3
输入输出 tree.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 30
题目来源 Gravatarsyzhaoss 于2022-07-30加入
开放分组 全部用户
提交状态
分类标签
线段树 重链剖分
分享题解
通过:0, 提交:0, 通过率:0%
关于 Qtree3 的近10条评论(全部评论)

3728. [SPOJ 2798]Qtree3

★★★   输入文件:tree.in   输出文件:tree.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

给出 $N$ 个点的一棵树($N-1$ 条边),节点有白有黑,初始全为白。

有两种操作:

0 i:改变某点的颜色(原来是黑的变白,原来是白的变黑)。

1 v:询问 $1$ 到 $v$ 的路径上的第一个黑点,若无,输出 $-1$。

【输入格式】

第一行 $N$,$Q$,表示 $N$ 个点和 $Q$ 个操作。

第二行到第 $N$ 行 $N-1$ 条无向边。

再之后 $Q$ 行,每行一个操作 0 i 或者 1 v。

【输出格式】

对每个 1 v 操作输出结果

【样例 1 输入】

9 8
1 2
1 3
2 4
2 9
5 9
7 9
8 9
6 8
1 3
0 8
1 6
1 7
0 2
1 9
0 2
1 9 

【样例 1 输出】

-1
8
-1
2
-1

【数据范围】

对于 $1/3$ 的数据有 $N=5000,Q=400000$。

对于 $1/3$ 的数据有 $N=10000,Q=300000$。

对于 $1/3$ 的数据有 $N=100000, Q=100000$。

此外,有$1 \le i,v \le N$。