配点 : 500 点
問題文
N 頂点 M 辺の重み付き無向連結グラフ G が与えられます。G には自己ループや多重辺が含まれている可能性があります。
頂点には頂点 1, 頂点 2, …, 頂点 N と番号がついています。
辺には辺 1, 辺 2, …, 辺 M と番号がついています。辺 i は頂点 ai と頂点 bi を結ぶ重み ci の辺です。ここで、1≤i<j≤M を満たすすべての整数の組 (i,j) について ci=cj が成り立ちます。
以下で説明される Q 個のクエリに答えてください。
i 番目のクエリでは整数の組 (ui,vi,wi) が与えられます。ここで、1≤j≤M を満たすすべての整数 j について wi=cj が成り立ちます。
頂点 ui と頂点 vi を結ぶ重み wi の無向辺を ei として、G に ei を追加してできるグラフ Gi を考えます。
このとき Gi の最小全域木 Ti は一意に定まることが証明できますが、Ti に ei は含まれるでしょうか?答えを Yes
あるいは No
で出力してください。
ここで、クエリの前後で G は変化しないことに注意してください。言い換えると、クエリ i で G に ei を追加したグラフを考えたとしても、他のクエリで出てくる G に ei が追加されていることはありません。
最小全域木とは?
G の 全域木 とは、G に含まれるすべての頂点と G に含まれる辺の一部からなる木のことを言います。
G の 最小全域木 とは、G の全域木の中で辺の重みの和が最小である木のことを言います。
制約
- 2≤N≤2×105
- N−1≤M≤2×105
- 1≤ai≤N (1≤i≤M)
- 1≤bi≤N (1≤i≤M)
- 1≤ci≤109 (1≤i≤M)
- ci=cj (1≤i<j≤M)
- グラフ G は連結である。
- 1≤Q≤2×105
- 1≤ui≤N (1≤i≤Q)
- 1≤vi≤N (1≤i≤Q)
- 1≤wi≤109 (1≤i≤Q)
- wi=cj (1≤i≤Q,1≤j≤M)
- 入力はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
N M Q
a1 b1 c1
a2 b2 c2
⋮
aM bM cM
u1 v1 w1
u2 v2 w2
⋮
uQ vQ wQ
出力
Q 行出力せよ。i 行目ではクエリ i への答えを Yes
または No
で出力せよ。
5 6 3
1 2 2
2 3 3
1 3 6
2 4 5
4 5 9
3 5 8
1 3 1
3 4 7
3 5 7
Yes
No
Yes
以下では頂点 u と頂点 v を結ぶ重み w の無向辺を (u,v,w) と表します。
G を図に表したものを以下に挙げます。
たとえばクエリ 1 では G に e1=(1,3,1) を追加したグラフ G1 を考えます。G1 の最小全域木 T1 の辺集合は {(1,2,2),(1,3,1),(2,4,5),(3,5,8)} であり e1 を含みます。よって Yes
を出力します。
2 3 2
1 2 100
1 2 1000000000
1 1 1
1 2 2
1 1 5
Yes
No