题意 题目链接 可持久化01Trie板子题 对于两个操作分别开就行了 #include<bits/stdc++.h> using namespace std; const int MAXN = 4e5 + 10, SS = MAXN * 42 + 10; const int B = 31; inline int read() { char c = getchar(); int x = 0, f = 1; while(c < '0' || c > '9') {if(c == '-')…
Description: 现在有一颗以1为根节点的由n个节点组成的树,树上每个节点上都有一个权值v 现在有Q次操作,操作如下: 1.1 x y :查询节点x的子树中与y异或结果的最大值 2.2 x y z :查询路径x到y上点与z异或结果最大值 Hint: \(n,q<=10^5\) Solution: 水题,按dfs序建主席树解决询问1,树上主席树解决询问2 #include<bits/stdc++.h> using namespace std; const int mxm=1e5+…