P3812 【模板】线性基

给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大。

code:

#include <iostream>
#include <cstdio> using namespace std; #define int long long inline int read(){
int sum=0,f=1; char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
while(ch>='0'&&ch<='9'){sum=(sum<<1)+(sum<<3)+ch-'0'; ch=getchar();}
return sum*f;
} const int wx=77;
int p[wx];
int n,ans; void add(int x){
for(int i=60;i>=0;i--){
if(x&(1ll<<i)){
if(!p[i]){
p[i]=x;
return ;
}
else x^=p[i];
}
}
} signed main(){
n=read();
for(int i=1;i<=n;i++){
int x; x=read();
add(x);
}
for(int i=60;i>=0;i--)
if((ans^p[i])>ans)ans^=p[i]; printf("%lld\n",ans);
}

最新文章

  1. 界面使用webview,并且webview里面有图片进行自动切换导致界面上滚动条卡顿。
  2. python排序算法的实现-快速排序
  3. JQuery源码分析(五)
  4. Oracle查看和修改其最大的游标数
  5. is_numeric漏洞分析
  6. Python核心编程读笔 7: 条件和循环
  7. 五子棋Web版的开发(三)
  8. C#:查询某年(1900-2100)某月的日历
  9. Python之旅.第三章.函数3.30
  10. win2008r2 AD用户账户的批量导入方法
  11. An internal error occurred during: Initializing Java Tooling.
  12. Linux文件系统的基本结构
  13. 未来-区块链-IBM:IBM 区块链技术开发社区
  14. Six advantages of Nissan consult 3 diagnostic tool
  15. Java并发编程笔记之Semaphore信号量源码分析
  16. Linux共享库LD_LIBRARY_PATH与ld.so.conf
  17. java8 流操作 好文网址
  18. Day19 网络编程
  19. sublime常用方法
  20. 如何设置C++崩溃时生成Dump文件

热门文章

  1. leetcode598
  2. IdentityHashMap
  3. Java对象的强、软、弱和虚引用
  4. Splay树分析
  5. libevent源码深度剖析五
  6. maven学习总结-eclipse开发
  7. Docker01 centos系统安装、centos安装docker、docker安装mongoDB
  8. 面试题--CVTE
  9. PyV8在服务端运行自动崩溃问题
  10. LoadRunner使用问题