摘要: "hdu6059" 题意 给定数组 $A$ ,问有多少对下标 $(i, j, k)$ 满足 $i typedef long long ll; using namespace std; const int MAXN = 2e6 + 10; int n; int a[MAXN]; int root, L 阅读全文
posted @ 2017-08-02 22:28 ftae 阅读(114) 评论(0) 推荐(0) 编辑
摘要: "hdu4757" 题意 给出一棵树,每个节点有权值,每次查询节点 $(u, v)$ 以及 $x$ ,问 $u$ 到 $v$ 路径上的某个节点与 $x$ 异或最大的值是多少。 分析 Trie 的新姿势! 如果直接问 $x$ 与某个区间中哪个数异或后最大,那么直接把区间所有数转化成二进制数(从高到低位 阅读全文
posted @ 2017-08-02 22:26 ftae 阅读(731) 评论(0) 推荐(0) 编辑
摘要: "csu1216" 题意 给定一些数,求这些数中两个数的异或值最大的那个值。 分析 转化成二进制数存入字典树,比如说要查询 $0011$ ,显然和 $1100$ 结合最优,所以我们直接在字典树上寻找 $1100$ ,如果某一位没找到不管它继续往下找,因为我们是从高到低位存的,所以找得到的一定是最优的 阅读全文
posted @ 2017-08-02 22:23 ftae 阅读(135) 评论(0) 推荐(0) 编辑