atcoder#ABC294G. [ABC294G] Distance Queries on a Tree
[ABC294G] Distance Queries on a Tree
配点 : 点
問題文
頂点の木 が与えられます。 辺 は頂点 と を結んでおり、重みは です。
次の 種類のクエリが合計 個与えられるので、順に処理してください。
1 i w
:辺 の重みを に変更する。2 u v
:頂点 と頂点 の距離を出力する。
ただし、木の 頂点 の距離とは、 と を両端点とするパスに含まれる辺の重みの合計として得られる値のうち最小のものです。
制約
- 与えられるグラフは木
- 番目の形式のクエリについて、-
- 番目の形式のクエリについて、-
- 番目の形式のクエリが つ以上存在する
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
ただし、 は 個目のクエリを表しており、次の形式のいずれかで与えられる。
出力
番目の形式のクエリの個数を 個として 行出力せよ。 行目 には、 番目の形式のクエリのうち 個目のものに対する答えを出力せよ。
5
1 2 3
1 3 6
1 4 9
4 5 10
4
2 2 3
2 1 5
1 3 1
2 1 5
9
19
11
木ははじめ、下の図のようになっています。
各クエリでは、以下のような処理を行います。
- つめのクエリでは、頂点 と頂点 の距離を出力します。辺 と辺 をこの順に使うことで重みの合計が であるようなパスが得られ、これが最小なので を出力します。
- つめのクエリでは、頂点 と頂点 の距離を出力します。辺 と辺 をこの順に使うことで重みの合計が であるようなパスが得られ、これが最小なので を出力します。
- つめのクエリでは、辺 の重みを に変更します。
- つめのクエリでは、頂点 と頂点 の距離を出力します。辺 と辺 をこの順に使うことで重みの合計が であるようなパスが得られ、これが最小なので を出力します。
7
1 2 1000000000
2 3 1000000000
3 4 1000000000
4 5 1000000000
5 6 1000000000
6 7 1000000000
3
2 1 6
1 1 294967296
2 1 6
5000000000
4294967296
答えが 整数に収まらない場合があることに注意してください。
1
1
2 1 1
0
8
1 2 105
1 3 103
2 4 105
2 5 100
5 6 101
3 7 106
3 8 100
18
2 2 8
2 3 6
1 4 108
2 3 4
2 3 5
2 5 5
2 3 1
2 4 3
1 1 107
2 3 1
2 7 6
2 3 8
2 1 5
2 7 6
2 4 7
2 1 7
2 5 3
2 8 6
308
409
313
316
0
103
313
103
525
100
215
525
421
209
318
519