NAPC 2025 OPEN 2026/03/27 09:00 ~ 2026/03/27 14:15 5:15:00.000

P LIS Query

問題
制限時間: 2.5 sec メモリ制限: 2048 MB
problem
問題文

$N$ 頂点の根付き木が与えられます。 頂点には $1,\ldots,N$ の番号が、辺には $1,\ldots,N-1$ の番号がついており、根は頂点 $1$ です。 辺 $i$ は頂点 $u_i$ と $v_i$ を結びます。 各頂点には $0$ または $1$ が書かれています。 現在、頂点 $i$ に書かれている値を $A_i$ とします。初め、$A_i=C_i$ です。

ここで、頂点 $r$ を根とする部分根付き木が Good であるとは、以下の条件を満たすことをいいます。

  • その部分根付き木に含まれる任意の頂点 $u$ と、頂点 $u$ の子孫である任意の頂点 $v$ の組について、 $A_u\leq A_v$ が成り立つ。

ただし、頂点 $v$ が頂点 $u$ の子孫であるとは、 $u$ を根とする部分根付き木に $v$ が含まれることをいいます。

$Q$ 個のクエリが与えられるので、順に処理してください。 各クエリは以下の $2$ 種類のいずれかです。

  • 種類 $1$ : 1 x の形式で与えられる。 $A_x$ を $1-A_x$ で置き換える。
  • 種類 $2$ : 2 x の形式で与えられる。 頂点 $x$ を根とする部分根付き木が Good である場合は Yes を出力する。 Good でない場合は No を出力する。
制約
  • 入力はすべて整数
  • $2\leq N\leq 2\times 10^5$
  • $1\leq Q\leq 2\times 10^5$
  • $1\leq u_i,v_i\leq N$
  • 与えられるグラフは木
  • $C_i\in \{0,1\}$
  • $1\leq x\leq N$
  • 種類2のクエリが1つ以上与えられる
入力

入力は以下の形式で標準入力から与えられます。

$N$ $Q$
$u_1$ $v_1$
$u_2$ $v_2$
$\vdots$
$u_{N-1}$ $v_{N-1}$
$C_1$ $C_2$ $\ldots$ $C_N$
$query_1$
$query_2$
$\vdots$
$query_Q$

ただし、$query_i$ は $i$ 個目のクエリを表し、以下のいずれかの形式で与えられます。

1 $x$
2 $x$
出力

種類 $2$ のクエリの個数を $q$ としたとき、 $q$ 行出力してください。 $i$ 行目には、 $i$ 個目の種類2のクエリに対する答えを出力してください。

入力例 1
6 8
1 2
1 3
1 4
1 5
5 6
1 0 0 1 1 1
2 1
1 1
2 1
1 1
1 2
1 3
2 1
2 2
出力例 1
No
Yes
Yes
Yes

$1$ つ目のクエリでは、 $A_1>A_2$ であるため、頂点 $1$ を根とする部分根付き木は Good ではありません。そのため、No を出力してください。

$3$ つ目のクエリでは、 頂点 $1$ を根とする部分根付き木に含まれる任意の頂点 $u$ と、その任意の子孫 $v$ に対して $A_u\leq A_v$ が成り立つため、頂点 $1$ を根とする部分根付き木は Good です。そのため、Yes を出力してください。