博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces #430 Div2 D
阅读量:6296 次
发布时间:2019-06-22

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

题意

给出一些数,每次操作先将所有数异或一个值,再求这些数中没有出现过的最小的非负整数。

分析

对于更新操作,对于 \(x\) 所有为 \(1\) 的位给相应层添加一个标记,当查询时走到这一层,如果有这个标记,就要把左子树当作右子树,右子树当做左子树。

对于查询操作,显然优先走左子树,如果左子树已经满了,才走右子树,并且答案就要加上对应的层的值,如果发现无路可走,说明后面可以全部取\(0\)了。

code

#include
using namespace std;typedef long long ll;const int MAXN = 1e6 + 100;struct Trie { int val[MAXN], nxt[MAXN][2], L, root, siz[MAXN], flg[21]; int newnode() { memset(nxt[L], -1, sizeof nxt[L]); return L++; } void init() { L = 0; root = newnode(); } void insert(int x) { int now = root; for(int i = 20; i >= 0; i--) { int o = ((x >> i) & 1); if(nxt[now][o] == -1) { nxt[now][o] = newnode(); } now = nxt[now][o]; siz[now]++; } } void update(int q) { for(int i = 20; i >= 0; i--) { if((q >> i) & 1) { flg[i] ^= 1; } } } int query() { int now = root; int ans = 0; for(int i = 20; i >= 0; i--) { int o = 0; if(flg[i]) o = !o; if(nxt[now][o] == -1) { break; } else { if(siz[nxt[now][o]] < (1 << i)) { now = nxt[now][o]; } else { ans |= (1 << i); if(nxt[now][!o] == -1) break; else now = nxt[now][!o]; } } } return ans; }}trie;set
num;int main() { ios::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; for(int i = 0; i < n; i++) { int x; cin >> x; num.insert(x); } trie.init(); for(int i : num) { trie.insert(i); } while(m--) { int q; cin >> q; trie.update(q); cout << trie.query() << endl; } return 0;}

转载于:https://www.cnblogs.com/ftae/p/7454847.html

你可能感兴趣的文章
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>
《算法基础:打开算法之门》一3.4 归并排序
查看>>
高德开放平台开放源代码 鼓励开发者创新
查看>>
《高并发Oracle数据库系统的架构与设计》一2.5 索引维护
查看>>