题目大意:给你n个数(n<=100)要你找出若干个数使他们的异或和最大

思路:高斯-若当消元消完以后削成若干个独立的行向量,将它们异或起来就好

#include<cstdio>

#include<string.h>

#include<iostream>

#include<algorithm>

#define maxn 3000

#define LL __int64

using namespace std;

LL bin[maxn],a[maxn];

int main()

{

int n;

scanf("%d",&n);

for(int i=1;i<=n;i++)scanf("%I64d",&a[i]);

for(int i=1;i<=61;i++)bin[i]=(1ll<<(i-1));

int now=0;

for(int i=61;i>=1;i--)

{

int idx=now+1;

while((a[idx]&bin[i])==0 && idx<=n)idx++;

if(idx==n+1)continue;

swap(a[idx],a[now+1]);

now++;

for(int j=1;j<=n;j++)if((a[j]&bin[i])!=0 && now!=j)a[j]^=a[now];

}

LL ans=0;

for(int i=1;i<=n;i++)ans^=a[i];

printf("%I64d\n",ans);

return 0;

}

最新文章

  1. python之路十九
  2. IOAPIC重定位中断处理函数思路整理
  3. MySQL之MySQL5.7中文乱码
  4. php模拟飞鸽传输协议,代码实现向飞鸽发送消息
  5. High Frequency Trading (整理中...)
  6. python 之select
  7. App升级时数据库的迁移更新
  8. 关于C++的疑问剖析
  9. [Angular Directive] Implement Structural Directive Data Binding with Context in Angular
  10. 运行Chromium浏览器缺少google api密钥无法登录谷歌账号的解决办法
  11. Hadoop源码篇---解读Mapprer源码Input输入
  12. redis通过pipeline提升吞吐量
  13. Matrix Completion with Noise
  14. 组合模式 合成模式 COMPOSITE 结构型 设计模式(十一)
  15. Linux 配置vim编辑器
  16. Docker 网络不通的解决方法
  17. PHP核心技术——面向对象
  18. 4552: [Tjoi2016&amp;Heoi2016]排序
  19. mybatis比hibernate处理速度快的原因
  20. PAT甲级1013. Battle Over Cities

热门文章

  1. C++拾遗(四)——顺序容器
  2. http协议参数详解
  3. ZOJ 3537 Cake (区间DP,三角形剖分)
  4. codevs 1742 爬楼梯(水题日常)
  5. Linux OpenGL 实践篇-13-geometryshader
  6. history 路由且带二级目录的Apache配置
  7. fossil 代理设置
  8. IjkPlayer播放器秒开优化以及常用Option设置
  9. 洛谷 P2668 斗地主
  10. bzoj5138 [Usaco2017 Dec]Push a Box