#P13529. [OOI 2023] 皇家任务

    ID: 15394 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>动态规划 DP2023强连通分量Moscow Olympiad

[OOI 2023] 皇家任务

题目描述

不久前,伯利兰新建成了一套公路网络。某些城市对之间有单向道路,第 ii 条道路从城市 uiu_i 通向城市 viv_i,其长度为 wiw_i。伯利兰有两个主要城市,编号为 aabb

伯利兰的国王非常热爱自己的国家,尤其喜欢计算各种有趣的性质。他把一条路径的「美丽度」定义为该路径上所有道路长度的按位异或(即 XOR)。而他把国家的「美丽度」定义为所有从城市 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}

在图中,一条路径指的是一系列顶点,其中任意两个相邻顶点之间都有一条边相连。

输入格式

每个测试包含若干组数据。第一行一个整数 tt1t400001 \le t \le 40\,000),表示数据组数。

每组数据的第一行包含两个整数 nnmm1n,m2000001 \le n, m \le 200\,000),分别表示城市数和道路数。

接下来 mm 行,每行三个整数 ui,vi,wiu_i, v_i, w_i1ui,vin1 \le u_i, v_i \le n0wi23010 \le w_i \le 2^{30} - 1),表示第 ii 条道路的起点、终点和长度。

每组数据的最后一行包含两个整数 a,ba, b1a,bn1 \le a, b \le n),表示国王关心的起点和终点。

n\sum n 表示所有数据组的 nn 之和,m\sum m 表示所有数据组的 mm 之和。保证 n200000\sum n \le 200\,000m200000\sum m \le 200\,000

输出格式

对于每组数据,输出一个整数,表示伯利兰的美丽度。如果无法计算美丽度,则输出 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 的道路,因此任意路径的美丽度均为 00,所有路径的美丽度异或起来也是 00
  • 在第二组数据中,从城市 11 到城市 33 的路径共有 66 条,其美丽度分别为 05=50 \oplus 5 = 502=20 \oplus 2 = 215=41 \oplus 5 = 412=31 \oplus 2 = 335=63 \oplus 5 = 632=13 \oplus 2 = 1。将它们按位异或后,答案为 524361=75 \oplus 2 \oplus 4 \oplus 3 \oplus 6 \oplus 1 = 7
  • 在第三组数据中,从城市 11 到城市 22 的路径有美丽度 11121=21 \oplus 2 \oplus 1 = 212121=11 \oplus 2 \oplus 1 \oplus 2 \oplus 1 = 1、$1 \oplus 2 \oplus 1 \oplus 2 \oplus 1 \oplus 2 \oplus 1 = 2$,依此类推。可以发现,从 1122 存在无穷多条美丽度不为 00 的路径,因此无法计算答案。
  • 在第四组数据中,从城市 22 到城市 33 有无穷多条美丽度为 00 的路径,但没有任何美丽度非零的路径,因此最终国家美丽度为 00

评分说明

本题测试点分为 6 组。只有通过某一组的所有测试点,且通过部分之前组的所有测试点,才能获得该组分数。有些分组不要求通过样例测试点。“离线评测”表示该组的测试结果只会在比赛结束后公布。

组别 分值 n\sum n m\sum m wiw_i 必须通过的组 备注
0 -- -- -- 样例测试点
1 16 n=mn = mui=i,vi=i+1u_i = i, v_i = i+1i<ni < nun=n,vn=1u_n = n, v_n = 1
2 17 wi1w_i \le 1 ui<viu_i < v_i
3 15 -- 2
4 19 n1000\sum n \le 1000 m1000\sum m \le 1000 wi2101w_i \le 2^{10} - 1 0
5 14 -- wi1w_i \le 1 2
6 19 -- 0--5 离线评测