
数据结构
文章平均质量分 88
数据结构
ojzha_gcx
蒟蒻一只
展开
-
xor相关(持续更新)
T1 The XOR Largest Pair01trie模板题#include<bits/stdc++.h>#define LL long long#define N 101010using 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 · 219 阅读 · 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 · 151 阅读 · 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 · 168 阅读 · 0 评论