#P0207. C. 路径或(or)

C. 路径或(or)

题目描述

给定一个连通无向图,该图有 NN 个顶点和 MM 条边,且无自环,顶点编号从 11NN,边编号从 11MM。边 ii 双向连接顶点 uiu_iviv_i,其边权为 wiw_i

在从顶点 11 到顶点 NN 的简单路径(即不会多次访问同一顶点的路径)中,求出该路径中所有边的权值的按位 OR\mathrm{OR} 的最小可能值。

什么是按位 OR\mathrm{OR} 运算?

非负整数 AABB 的按位 OR\mathrm{OR},即 A OR BA\ \mathrm{OR}\ B,定义如下:

  • 如果 AABB 的二进制表示中 2k2^k 位至少有一位为 11,则 A OR BA\ \mathrm{OR}\ B 的二进制表示中 2k(k0)2^k(k \geq 0) 位上的数字为 11,否则为 00

例如,3 OR 5=73\ \mathrm{OR}\ 5 = 7(二进制表示为:011 OR 101=111011\ \mathrm{OR}\ 101 = 111)。 一般而言,kk 个非负整数 p1,p2,p3,,pkp_1, p_2, p_3, \dots, p_k的按位 OR\mathrm{OR} 定义为 $(\dots ((p_1\ \mathrm{OR}\ p_2)\ \mathrm{OR}\ p_3)\ \mathrm{OR}\ \dots\ \mathrm{OR}\ p_k)$,并且可以证明这与 p1,p2,p3,pkp_1, p_2, p_3, \dots p_k 的顺序无关。

输入格式

输入来自标准输入,格式如下:

  • 第一行两个整数 N,MN,M
  • 接下来 MM 行每行三个整数,分别表示 ui,vi,wiu_i,v_i,w_i

输出格式

输出一行一个整数表示答案。

输入输出样例 #1

输入 #1

4 5
1 2 1
1 3 4
2 3 2
2 4 4
3 4 3

输出 #1

3

输入输出样例 #2

输入 #2

3 5
1 2 1
1 2 2
1 2 3
1 2 4
2 3 4

输出 #2

4

输入输出样例 #3

输入 #3

8 12
4 5 16691344
5 7 129642441
2 7 789275447
3 8 335307651
3 5 530163333
5 6 811293773
3 8 333712701
1 2 2909941
2 3 160265478
5 7 465414272
1 3 903373004
6 7 408299562

输出 #3

468549631

说明/提示

约束

  • 2N21052\le N\le 2*10^5
  • N1M2105N-1\le M\le 2*10^5
  • 1uiviN1\le u_i\le v_i\le N
  • 0wi2300\le w_i\le2^{30}
  • 给定图为连通图。
  • 所有输入值均为整数。

样例 1 提示:

按顺序遍历边 1,3,51,3,5,并按顺序访问顶点 1,2,3,41,2,3,4,最终的按位 OR\mathrm{OR}1 OR 2 OR 3=31\ \mathrm{OR}\ 2\ \mathrm{OR}\ 3=3

不可能使按位 OR\mathrm{OR} 小于 33,因此输出 33

样例 2 提示:

该图可能包含重边。

测试点 NN MM 结构类型
1 2 1
2 20 19
3 200000 199999
4 30 29 树(星形)
5 5000 4999 树(随机)
6 200000 199999
7 50 120
8 100000 11000
9 110000
10