Difficulty:4.2 / Easy
Tag:01 Trie
不知道为啥,忘了写了。
看的时候把 vvv 和 xxx 交换一下。懒得改了。
首先考虑不带修。
显然连成的环就是 x→yx\to yx→y 的树链加上给的边。注意到这个可以转化成 (1→x)⊕(1→y)(1\to x)\oplus (1\to y)(1→x)⊕(1→y)。所以我们只需要开个 01 Trie 查询 (1→y)⊕(1→x)⊕v(1\to y)\oplus (1\to x) \oplus v(1→y)⊕(1→x)⊕v 的最大值即可。注意不能自环,所以查询时必须删掉 1→x1\to x1→x。
然后考虑带修。
开个全局变量 ppp,记录修改的异或和。
显然就会变成偶数条边不变,奇数条边额外异或 ppp。
所以我们可以对树进行二分图染色,分颜色讨论。
做完了。
时间复杂度:O(nlogV)O(n\log V)O(nlogV)。