水灾
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛所在的国家闹水灾了!两个城市之间可能有双向道路,每条道路都有个海拔,牛牛想要知道每次对于某些城市,当水的海拔最低达到多高的时候这些城市两两互不能到达。(如果某条道路的海拔小于等于水的海拔那么这条道路就不能通行)牛牛要问你 q 次,请你帮他解答。

一句话题意:给一个 n 个节点 m 条带权边的无向连通图,有 q 次询问,每次询问图中 ki 个互不相同的点,你可以选择一个数 x,然后将图中所有边权小于等于 x 的边删除。求当删除这些边后 ki 个点互不连通时,x 的最小值。
强制在线

输入描述:

第一行三个整数 n,m,q,表示无向连通图有 n 个节点,m 条边,q 次询问。
接下来 m 行,每行三个整数 u,v,w,表示 u,v 之间有一条边权为 w 的无向边。
接下来 q 行,每行第一个整数为 ki,表示第 i 次询问有 ki 个点。
之后有 ki 个整数 a1',a2',...,aki',真实询问的点 aj 为 aj' 按位异或上 lastans 后的值。
lastans 为上一次询问的答案,初始时 lastans=0。

输出描述:

共 q 行,每行一个整数表示每次询问的答案。
示例1

输入

复制
6 7 2
1 2 1
2 3 2
3 4 4
4 5 3
2 5 7
5 6 5
1 6 6
3 1 3 5
2 4 1

输出

复制
5
3

说明


第一组询问:
lastans=0,k_i=3,a=\{1,3,5\}
显然删去边权小于等于 5 的边即可使点集 a 中的点互不连通。
第二组询问:
lastans=5,k_i=2,a=\{1,4\}
显然删去边权小于等于 3 的边即可使点集 a 中的点互不连通。

备注: