线性基板子

Posted Stump

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性基板子相关的知识,希望对你有一定的参考价值。

luogu P3812 【模板】线性基

题目背景

这是一道模板题。

题目描述

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

输入输出格式

输入格式:

 

第一行一个数n,表示元素个数

接下来一行n个数

 

输出格式:

 

仅一行,表示答案。

 

输入输出样例

输入样例#1: 复制
2
1 1
输出样例#1: 复制
1

说明

1≤n50,0Si?250

链接:https://www.luogu.org/problemnew/show/3812

AC代码:

 

#include<cstdio>
#include<iostream>
#define BIG 133333
#define FOR(i,s,t) for(register int i=s;i<=t;++i)
typedef long long ll;
ll u,ans;
int n;
ll b[70];
int main(){
	scanf("%d",&n);
	while(n--){
		scanf("%lld",&u);
		for(register int i=60;~i;--i)
			if(u&(1ll<<i)){
				if(!b[i]){
					b[i]=u;
					break;
				}
				else u^=1ll*b[i];
			}
	}
	for(register int i=60;~i;--i)
		if((ans^b[i])>ans)ans^=b[i];
	printf("%lld\n",ans);
	return 0;
}

  

 

以上是关于线性基板子的主要内容,如果未能解决你的问题,请参考以下文章

错误 - EXC_BREAKPOINT(代码=1,子代码=0x100308448)

iContact卷曲子代码

创建广告时出现代码 200 和子代码 1487194 的 Facebook 错误背后的原因是啥?

在 SpriteKit 中出现错误。 - 线程 1:EXC_BREAKPOINT(代码=1,子代码=0x1007351fc)

Facebook OAuthException代码190子代码490 - 用户注册了阻塞的登录检查点

斯威夫特 3 - 'EXC_BAD_INSTRUCTION(代码 = EXC_1386_INVOP,子代码 = 0x0)' 错误