题解:P12259 [蓝桥杯 2024 国 Java B] 最优路径

· · 题解

题意:

任意选两个不同的点使得其路径的异或和最小。求出这个值。

思路:

先考虑任意两个点 xy 的任意一条简单路径。可以通过直接遍历得到,再考虑如何是异或和最小。必然是多走一些路。一个可行的方法是:从某一个点开始走到一个环,在环上走一圈,回到这个点。然后枚举所有环,把环的异或值插入线性基,用线性基跑最小值即可。

Tips: