问题描述
给定一个带权无向连通图 G,有 N 个顶点和 M 条边,其中可能包含自环和多重边。
顶点被标记为 1, 2, …, N。
边被标记为 1, 2, …, M。第 i 条边连接了顶点 ai 和顶点 bi,并且具有权重 ci。对于所有满足 1≤i<j≤M 的整数对 (i,j),有 ci=cj。
处理下面的 Q 个查询。
第 i 个查询给出了三个整数 (ui,vi,wi)。对于每个整数 j,满足 1≤j≤M,有 wi=cj。
设 ei 是一条连接顶点 ui 和顶点 vi、权重为 wi 的无向边。考虑通过将 ei 添加到 G 中而得到的图 Gi。可以证明,Gi 的最小生成树 Ti 是唯一确定的。Ti 是否包含 ei?将答案输出为 Yes
或 No
。
注意,查询不会改变 T。换句话说,即使查询 i 考虑了通过将 ei 添加到 G 中得到的图,其他查询中的 G 不包含 ei。
什么是最小生成树?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
。
示例输入 1
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
示例输出 1
Yes
No
Yes
下面,设 (u,v,w) 表示一条连接顶点 u 和顶点 v、权重为 w 的无向边。这是 G 的一个示例:

例如,查询 1 考虑通过将 e1=(1,3,1) 添加到 G 中而得到的图 G1。G1 的最小生成树 T1 的边集为 lbrace(1,2,2),(1,3,1),(2,4,5),(3,5,8)rbrace,其中包含 e1,所以应该输出 Yes
。
示例输入 2
2 3 2
1 2 100
1 2 1000000000
1 1 1
1 2 2
1 1 5
示例输出 2
Yes
No