P4551 最长异或路径 题解

淦,异或的性质必须要熟悉啊!!!

一个完美的性质:$a\oplus b\oplus b=a$

 于是,对于一个路径$d(x,y)$,必然有$d(x,y)=d(x,root)\oplus d(root,y)$,其中$d(x,y)$表示x到y路径的异或和

接着正解就呼之欲出了:

对于每一个节点$u$,我们均可以计算出其到根节点的异或和,而答案就是$\sum_{i!=j}max\{d(i,root)\oplus d(j,root)\}$

我去这么简单

接下来利用trie树即可完成剩余问题。

上一篇:【数学公式】【持续更新】


下一篇:图论笔记1 匹配