数据结构
文章平均质量分 88
数据结构
ojzha_gcx
蒟蒻一只
展开
-
xor相关(持续更新)
T1 The XOR Largest Pair 01trie模板题 #include<bits/stdc++.h> #define LL long long #define N 101010 using namespace std; int son[N*30][2],idx[N*30],tot,n,a[N]; void insert( int pos,int x ) { int p = 0; for(int i=31;i>=0;i--) { int &temp = s原创 2021-07-30 19:07:18 · 206 阅读 · 0 评论 -
HDU多校2:1004 I love counting
地址 题目: 题意: 一个长度为n的序列,每个位置i有一个权值,然后有Q个询问,每次询问包含l,r,a,bl,r,a,bl,r,a,b四个参数,其询问含义为区间[l,r][ l,r ][l,r]有多少种权值wiw_iwi使得,wi⊕a≤bw_i⊕a≤bwi⊕a≤b 解题: 题目没说要修改,意味着我们可以离线进行操作。并且这类异或一般都涉及trie树这种数据结构。 查询其实就变成了询问区间[l,r][ l,r ][l,r]内,后继节点位置>r>r>r的数有哪些,我们只统计这些数对于答案原创 2021-07-28 19:32:47 · 144 阅读 · 0 评论 -
XOR-MST(模板)&& 相关题
例题 题意: 给你一个 nnn 个节点的完全图,第 iii 个点的权值为 aia_iai ,两点的之间边权为这两个点权值的异或值,求最小生成树(MST)的权值。 参考dalao博客 步骤: 对各个点权值进行排序 跑dfs,从高位到低位每次dfs找到这个区间[l,r][l,r][l,r]的当前二进制位(深度表示)是1的那个数,然后继续二分。 对trie树上每一个可能是LCA的点,合并左右两颗子树(启发式合并),对一颗子树内的叶子点值一个子树建trie,查找trie树上异或另一颗子树内的叶子点值最小的结果原创 2021-07-30 19:05:47 · 155 阅读 · 0 评论