#P12517. [OOI 2023 Day 1]国王的问题

[OOI 2023 Day 1]国王的问题

题目描述

伯利兰迪亚最近新建了一套道路网络。某些城市之间存在单向道路,第 ii 条道路从城市 uiu_i 通往城市 viv_i,其长度为 wiw_i。伯利兰迪亚的两个主要城市编号为 aabb

伯利兰迪亚的国王非常热爱他的国家。他尤其喜欢计算国家中的各种特性。他将路径的美感定义为路径上所有道路长度的按位异或值。而他将国家的美感定义为从城市 aa 到城市 bb 的所有路径美感的按位异或值。需要注意的是,这类路径可能有无限多条,并且路径可以多次经过同一城市。

国王想知道他国家的美感是多少,因此他向你寻求帮助,请你计算这个值,或者告知无法计算国家美感。

按位异或一个数字集合是指对该集合中所有非零数字进行按位异或操作。如果集合中有无限多个非零数字,则按位异或值无法计算。

按位异或(或按位模二加法)是一种二元操作,等同于对操作数的二进制表示中相同位置的每对比特进行逻辑异或操作。换句话说,如果操作数的对应比特不同,则结果的对应比特为 11;如果比特相同,则结果的对应比特为 00。例如,若 x=10910=11011012x = 109_{10} = 1101101_2y=4110=1010012y = 41_{10} = 101001_2,则它们的按位异或值为 xy=10001002=6810x \oplus y = 1000100_2 = 68_{10}

图中的路径定义为顶点序列,其中任意两个连续顶点之间有边连接。

输入格式

每个测试包含多组输入数据。第一行包含一个整数 tt (1t40000)(1 \le t \le 40000),表示输入数据的组数。

每组输入数据的第一行包含两个整数 nnmm (1n,m200000)(1 \le n, m \le 200000),分别表示伯利兰迪亚的城市数量和道路数量。

接下来的 mm 行,每行包含三个整数 ui,vi,wiu_i, v_i, w_i (1ui,vin,0wi2301)(1 \le u_i, v_i \le n, 0 \le w_i \le 2^{30}-1),分别表示第 ii 条道路的起点城市、终点城市及其长度。

每组输入数据的最后一行包含两个整数 aabb (1a,bn)(1 \le a, b \le n),表示国王感兴趣的路径的起点和终点城市。

n\sum n 为所有数据组中 nn 的总和,m\sum m 为所有数据组中 mm 的总和。保证 n200000\sum n \le 200000m200000\sum m \le 200000

输出格式

对于每组输入数据,输出一个整数,即伯利兰迪亚的美感。如果答案不存在,则输出 1-1

5
1 1
1 1 0
1 1
3 5
1 2 0
1 2 1
1 2 3
2 3 5
2 3 2
1 3
2 2
1 2 1
2 1 2
1 2
3 3
1 2 7
2 3 0
3 1 7
2 3
4 5
1 1 0
1 2 3
2 2 0
2 3 1
3 4 1
1 4

0
7
-1
0
-1

数据范围与提示

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务 分值 附加限制 子任务依赖 备注
11 1616 n=mn = mui=i,vi=i+1u_i = i, v_i = i + 1(对于 i<ni < n),un=n,vn=1u_n = n, v_n = 1
22 1717 wi1w_i \leq 1 ui<viu_i < v_i
33 1515 22
44 1919 n1000\sum n \leq 1000, m1000\sum m \leq 1000, wi2101w_i \leq 2^{10} - 1 00
55 1414 wi1w_i \leq 1 22
66 1919 050 \sim 5