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