AT_tkppc6_2_i 旅人計画問題2
题目描述
有一张由 $n$ 个点(编号 $1$ 到 $n$)和 $n-1$ 条边(编号 $1$ 到 $n-1$)构成的无向图。第 $i$ 条边连接点 $u_i$ 和 $v_i$,边权为 $w_i$。初始时,$0 \le w_i \le 1$。
有一枚棋子将依次从 $x_0$ 点开始,依次访问 $x_1,x_2,...,x_m$ 这 $m$ 个点。中途可以经过其他点。
每次在移动时,可以使用与当前点有边直接相连的点移动,并将这条边的当前权值加入总权值中。之后,如果这条边的权值为 $p$,那么将其重新设为 $1-p$。
输入有 $q$ 次询问。内容如下:
- `1 a b`:将 $x_a$ 更改为 $b$。
- `2 r`:请求出棋子从 $x_0$ 开始,依次访问 $x_1,x_2,...,x_r$ 所经过的边的最小总权值。此询问回答完毕后,将所有 $w$ 的值复原至初始状态。
输入格式
第一行三个数 $n,m,q$。
第二行至第 $n$ 行,每行为一条边的信息 $u_i,v_i,w_i$。
输出格式
按要求回答每个类型为 $2$ 的询问。每次回答完毕后都要换行。
### 数据规模与约定
- $2 \le n \le 10^5$,$1 \le m,q \le 10^5$;
- $1 \le u_i,v_i \le n$,$0 \le w_i \le 1$;
- $1 \le x_i \le n$,$x_i \neq x_{i+1}$;
- 对于任何一个询问 $1$,都有 $0 \le a \le m$,$1 \le b \le n$;
- 对于任何一个询问 $2$,都有 $1 \le r \le m$;
- 输入均为整数。
说明/提示
### 制約
- $ 2\ \leq\ N\ \leq\ 10^5 $
- $ 1\ \leq\ M\ \leq\ 10^5 $
- $ 1\ \leq\ Q\ \leq\ 10^5 $
- $ 1\ \leq\ u_i,v_i\ \leq\ N\ (1\ \leq\ i\ \leq\ N-1) $
- $ 0\ \leq\ w_i\ \leq\ 1\ (1\ \leq\ i\ \leq\ N-1) $
- $ 1\ \leq\ x_i\ \leq\ N\ (0\ \leq\ i\ \leq\ M) $
- タイプ1のクエリにおいて、$ 0\ \leq\ a\ \leq\ M,1\ \leq\ b\ \leq\ N $ が成り立つ
- タイプ2のクエリにおいて、$ 1\ \leq\ r\ \leq\ M $ が成り立つ
- 各クエリの前後において、$ x_i\ \neq\ x_{i+1}\ (0\ \leq\ i\ \leq\ M-1) $ が成り立つ
- $ Q $ 個目のクエリはタイプ2のクエリである
- 与えられるグラフは木
- 入力は全て整数
### Sample Explanation 1
$ 1 $ 個目のクエリでは、ペンギンくんは頂点 $ 1 $ $ \rightarrow $ 頂点 $ 3 $ $ \rightarrow $ 頂点 $ 1 $ $ \rightarrow $ 頂点 $ 2 $ の順に移動するべきです。移動にかかるコストはそれぞれ $ 1 $, $ 0 $, $ 0 $ となるため、答えは $ 1 $ です。 $ 3 $ 個目のクエリでは、ペンギンくんは頂点 $ 1 $ $ \rightarrow $ 頂点 $ 3 $ $ \rightarrow $ 頂点 $ 1 $ $ \rightarrow $ 頂点 $ 3 $ の順に移動するべきです。移動にかかるコストはそれぞれ $ 1 $, $ 0 $, $ 1 $, $ 0 $ となるため、答えは $ 2 $ です。
### Sample Explanation 2
原案: \[penguinman\](https://atcoder.jp/users/penguinman)