解题关键:求异或最大值。线性基模板题。

极大线性无关组的概念。

异或的值域相同。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
const int MAX_BASE=;
ll base[],a[],n;
void getbase(){
for(int i=;i<=n;i++){
for(int j=MAX_BASE;j>=;j--){
if(a[i]>>j){
if(!base[j]){
base[j]=a[i];
break;
}
a[i]^=base[j];
}
}
}
} ll query_max(){
ll ans=;
for(int i=MAX_BASE;i>=;i--){
if((base[i]^ans)>ans){
ans=base[i]^ans;
}
}
return ans;
}
int main(){
scanf("%lld",&n);
for(int i=;i<=n;i++)scanf("%lld",&a[i]);
getbase();
ll ans=query_max();
printf("%lld\n",ans);
}

[P3812][模板]线性基的更多相关文章

  1. 线性基【p4570】 [BJWC2011]元素

    题目描述-->p4570 [BJWC2011]元素 题目大意 给定一些矿石的编号与价值,我们想要得到最大的价值和,并且选定物品的编号异或之和不为0. 分析 线性基就不多bb了,来这里->p ...

  2. P3812 【模板】线性基

    P3812 [模板]线性基 理解 :线性基 类似于 向量的极大无关组,就是保持原来所有数的异或值的最小集合, 求解过程也类似,可以 O( 60 * n )的复杂度求出线性基,线性基有许多性质,例如 线 ...

  3. 模板【洛谷P3812】 【模板】线性基

    P3812 [模板]线性基 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大. code: #include <iostream> #include <cs ...

  4. 洛谷P3812 【模板】线性基 [线性基]

    题目传送门 线性基 题目描述 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大. 输入输出格式 输入格式: 第一行一个数n,表示元素个数 接下来一行n个数 输出格式: 仅一行 ...

  5. 洛谷P3812 【模板】线性基

    题目背景 这是一道模板题. 题目描述 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大. 输入输出格式 输入格式: 第一行一个数n,表示元素个数 接下来一行n个数 输出格式: ...

  6. 题解——洛谷P3812【模板】线性基

    学了下线性基 使用好像并不复杂 打了板子 但是要注意位运算优先级 #include <cstdio> #include <algorithm> #include <cst ...

  7. LG3812 【模板】线性基

    题意 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大. \(1≤n≤50,0≤S_i≤2^{50}\) 分析 模板题. 推荐一篇好博客 现在我来证明一下线性基的性质. 性质 ...

  8. luogu 3812 【模板】 线性基

    线性基是一个支持在集合里插入数并查询最大子集异或值 #include<iostream> #include<cstdio> #include<cstring> #i ...

  9. 洛谷 [P3812] 线性基

    异或空间下的线性基模版 异或空间下求线性基,本质还是高斯消元,参见 http://www.cnblogs.com/Mr-WolframsMgcBox/p/8562924.html 求最大值是一个贪心的 ...

随机推荐

  1. main函数的参数的用法

    说明:main函数的参数的用法源代码: #include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[] ...

  2. 70. Climbing Stairs Add to List

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...

  3. 重温CLR(一)CLR基础

    如果一个C#developer,对CLR没有了解,那就只能是入门级别.未来.NET CORE是趋势,但是.NET CORE 也是基于CoreCLR的,而CLR和CoreCLR其实差别不大,从runti ...

  4. python的编解码问题

    http://blog.chinaunix.net/uid-27838438-id-4227131.html

  5. python发短信功能

    http://www.cnblogs.com/martianShu/p/5847289.html

  6. git ssh登录

    .ssh下创建config文件 其内容: Host ipIdentityFile ~/.ssh/私钥文件名Port 22User git服务器的账号,不是git账号名(私钥文件名才是git账号名) 注 ...

  7. bae3.0第二步 添加一个空的django项目

    1.创建django项目: 进入bae应用源码目录(appidd01iud80bg)执行django-admin.py startproject blog2.修改index.py的内容如下所示 #-* ...

  8. 检测一个DLL文件是x64还是x86

    对于一个DLL,我们如何判定其是32位的还是64位的,或者是any cpu的platform? Visual Studio提供了一个很好的工具:corflags,这个是内嵌到Developer Com ...

  9. ThreadPoolExecutor之一:使用基本介绍

    一.concurrent包中的线程池的简单介绍 线程池按照线程数量可以分为:一是固定线程数量的线程池:二是可变数量的线程池. 线程池按照执行时间可以分为:一是立即执行线程池:二是延时线程池. Thre ...

  10. Spring 学习一 @Autowired

    @Autowired Spring 2.5 引入了 @Autowired ,它可以对类成员变量.方法及构造函数进行标注,完成自动装配的工作. 通过 @Autowired的使用来消除 set ,get方 ...