Peaks加强版

提交数: 19, 通过率: 26.32%, 平均分: 57.37

题目描述:

在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰的高度,如果无解输出-1。

输入格式:

第一行三个数N,M,Q。
第二行N个数,第i个数为h_i
接下来M行,每行3个数a b c,表示从a到b有一条困难值为c的双向路径。
接下来Q行,每行三个数v x k,表示一组询问。v=v xor lastans,x=x xor lastans,k=k xor lastans。如果lastans=-1则不变(即当前询问不需要进行异或)。

输出格式:

对于每组询问,输出一个整数表示答案。

提示:

N<=10^5, M,Q<=5*10^5,h_i,c,x<=10^9

时间限制: 2000ms
空间限制: 1024MB

来源: ONTAK2010