[luoguP2420] 让我们异或吧(dfs + 异或的性质)


传送门

因为异或满足结合律和交换律。

a^b^b=a

所以这个题直接求根节点到每个点路径上的异或值。

对于每组询问直接输出根到两个点的异或值的异或的值。

——代码

1 #include <cstdio> 2 #include <cstring> 3 #define MAXN 200001 4 5 using namespace std; 6 7 int n, m, cnt; 8 int head[MAXN], to[MAXN], val[MAXN], next[MAXN], dis[MAXN]; 9 bool vis[MAXN]; 10 11 inline void add(int x, int y, int z) 12 18 19 inline void dfs(int u) 20 31 } 32 } 33 34 int main() 35 45 dfs(1); 46 scanf("%d", &m); 47 for(i = 1; i <= m; i++) 48 52 return 0; 53 }
View Code



上一篇:树的重心

下一篇:[luoguP1352] 没有上司的舞会(DP)


dfs
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图