题目大意
你有一张$\text{N}$个点$\text{M}$条边的无向图,每条边上都有权值,现在请你求出来一条路径,使得这条路径上所有边权的异或和最大。
题解
前置技能:线性基 (不会的戳这里线性基学习笔记)
我们可以发现,这张图上会出现很多的环,而如果走一个环,就会只获得这个环的异或和。因为在非环路都走了两遍,所以我们就可以将所有环都求出来,然后随意找一条从$1$到$N$的路径,并使用线性基贪心地选,这样就可以选出最大的路径了。
1 |
|
你有一张$\text{N}$个点$\text{M}$条边的无向图,每条边上都有权值,现在请你求出来一条路径,使得这条路径上所有边权的异或和最大。
前置技能:线性基 (不会的戳这里线性基学习笔记)
我们可以发现,这张图上会出现很多的环,而如果走一个环,就会只获得这个环的异或和。因为在非环路都走了两遍,所以我们就可以将所有环都求出来,然后随意找一条从$1$到$N$的路径,并使用线性基贪心地选,这样就可以选出最大的路径了。
1 | #include<cstdio> |