博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
01字典树求异或最大值与最小值模板(带删除)
阅读量:4126 次
发布时间:2019-05-25

本文共 1685 字,大约阅读时间需要 5 分钟。

异或求最小值模板
#include 
using namespace std; const int maxn=300005; int n,m; int a[maxn],b[maxn]; int ch[30*maxn][2]; int val[30*maxn]; int sz; void insert(int num){ int u=0; for(int i=29;i>=0;i--){ int c=((num>>i)&1); if(!ch[u][c]){ ch[u][c]=++sz; } u=ch[u][c]; val[u]++; } } void remove(int num) { int u=0; for(int i=29;i>=0;i--) { int c=((num>>i)&1); int pre = u; u = ch[u][c]; if(--val[u]==0) ch[pre][c]=0; } } int query(int num){ int p=0,v=0; for(int i=29;i>=0;i--) { int c=((num>>i)&1); if(ch[p][c])p=ch[p][c]; else { p=ch[p][c^1]; v+=(1<

异或求最大值模板:

#include 
using namespace std; #define Memset(x, a) memset(x, a, sizeof(x)) #define _for(i,a,b) for(int i=a;i<=b;i++)const int maxn = 600007;//集合中的数字个数 int ch[32*maxn][2]; //节点的边信息 long long val[32*maxn]; //节点存储的值 long long a[maxn];int sz,q,n; //树中当前节点个数 long long num; void init(){ Memset(ch[0],0); //树清空 sz=1; } void _insert(long long a){ int u=0; for(int i=32;i>=0;i--){ int c=((a>>i)&1); if(!ch[u][c]){ Memset(ch[sz],0); ch[u][c]=sz++; } u=ch[u][c]; ++val[u]; } } void _delete(long long a){ int u=0; for (int i=32; i>=0; --i){ int c=((a>>i)&1); u=ch[u][c]; --val[u]; } } long long query(long long a){ int u=0; long long ans=0; for(int i=32;i>=0;i--){ int c=((a>>i)&1); if (c==1){ if (ch[u][0] && val[ch[u][0]]){ ans+=1<

转载地址:http://lnhpi.baihongyu.com/

你可能感兴趣的文章
PHP笔记3__简易计算器
查看>>
I.MX6Q平台Eclipse平台连接不上设备
查看>>
什么是“Bash”破绽?
查看>>
InstallShield12豪华版破解版下载|InstallShield下载|软件打包工具
查看>>
JAVA 异常处理的认知学习过程
查看>>
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
查看>>
洛谷P1432 倒水问题
查看>>
noip模拟赛 whzzt-Confidence
查看>>
Oracle ->> Oracle下实现SQL Server的TOP + APPLY
查看>>
浏览器缓存
查看>>
appium----【Mac】address already in user 127.0.0.1:4725,端口被占用的查找与kill进程
查看>>
convolution,fft, 加速
查看>>
ASP.NET没有魔法——ASP.NET MVC是如何运行的?它的生命周期是什么?
查看>>
[学习笔记]今天开始学HTML5!
查看>>
LeetCode 78. 子集
查看>>
opencv旋转图像,90度标准旋转
查看>>
关于C、内存、栈的一些杂谈
查看>>
Mysql条件判断函数使用-选择两列中较大一列数据
查看>>
9.并发包非阻塞队列ConcurrentLinkedQueue
查看>>
vue-模板
查看>>