#P2831. Can We Build This One?

Can We Build This One?

描述描述
“要致富,先修路。”如今,大城镇的居民渴望致富,因此正计划修建高速公路以连接各个村庄。

大城镇地域广阔,村庄众多。居民们计划在部分村庄对之间修建高速公路,确保任意两个村庄均可通过高速公路直接或间接连通。经过地理勘察,他们发现若干可用于修建高速公路的路径,每条路径由三元组(a,b,c)(a, b, c)表示,意为可在第aa个村庄与第bb个村庄之间修建一条成本为cc的高速公路。为节省资金,他们将仅选择部分路径修建,要求在保证所有村庄连通的前提下,所选路径的总成本最小。

可能存在多个满足条件的最小生成树方案。每个村庄的居民都希望修建对其有利的高速公路,但部分高速公路因成本过高而永远不会出现在任何最小生成树中。为此,人们提出查询:若某条高速公路的成本降至xx,它是否可能被选入最小生成树?你的任务是设计程序回答这些查询。

输入输入
输入首行包含三个整数NNMMQQ1<N10001 < N \leq 1000N1M100000N - 1 \leq M \leq 1000000<Q1000000 < Q \leq 100000),其中NN为村庄数量,MM为路径数量,QQ为查询数量。接下来MM行,每行给出三个整数aabbcc1a,bN1 \leq a, b \leq Naba \neq b0c10000000 \leq c \leq 1000000),描述一条路径。随后QQ行,每行包含两个整数iixx1iM1 \leq i \leq M0x0 \leq x),表示查询:“当第ii条路径的成本降至xx时,是否能被选入最小生成树?”其中xx严格小于该路径的原始成本。保证修建所有路径后任意两村庄连通,且村庄对之间可能存在多条路径。

输出输出
对每个查询输出一行,答案为"Yes"或"No"。

输入数据

3 4 3
1 2 10
1 3 6
2 3 4
1 3 7
4 6
1 7
1 5

输入数据

Yes
No
Yes