BZOJ 3105 线性基 高斯消元
来源:互联网 发布:算法心得这书怎么样 编辑:程序博客网 时间:2024/05/22 06:36
思路:
按照从大到小排个序
维护两个数组 一个是消元后的 另一个是 按照消元的位置排的
不断 维护从大到小
(呃具体见代码)
//By SiriusRen#include <cstdio>#include <iostream>#include <algorithm>using namespace std;#define int long long#define N 105int n,a[N],b[N],flag=1,ans;signed main(){ scanf("%lld",&n); for(int i=1;i<=n;i++)scanf("%lld",&a[i]),ans+=a[i],b[i]=a[i]; sort(a+1,a+1+n,greater<int>()),sort(b+1,b+1+n,greater<int>()); for(int i=1<<30,j;i;i>>=1){ for(j=flag;j<=n;j++)if(a[j]&i)break; if(j==n+1)continue; for(int k=j-1;k>=flag;k--)swap(a[k+1],a[k]),swap(b[k+1],b[k]); for(int k=1;k<=n;k++)if(k!=flag&&(a[k]&i))a[k]^=a[flag]; ans-=b[flag]; flag++; } printf("%lld\n",ans?ans:-1);}
0 0
- BZOJ 3105 线性基 高斯消元
- bzoj 3105 线性基
- BZOJ 2844 高斯消元 线性基
- [高斯消元 线性基] BZOJ 2115 [Wc2011] Xor
- [高斯消元 线性基] BZOJ 4269 再见Xor
- BZOJ 2115 线性基
- BZOJ 4269 高斯消元求线性基
- 【BZOJ 4184】shallot 线性基
- BZOJ 2460 [贪心][线性基]
- BZOJ 3569 [Hash][线性基]
- BZOJ 4004 实数线性基
- [BZOJ]2460 元素 线性基
- [BZOJ]2115 Xor 线性基
- [高斯消元 线性基 贪心 拟阵] BZOJ 3105 [cqoi2013]新Nim游戏
- bzoj 3105: [cqoi2013]新Nim游戏 (高斯消元求解线性基)
- BZOJ 3105 新Nim游戏(博弈论+线性基)
- bzoj 2115: [Wc2011] Xor (高斯消元求解线性基)
- [高斯消元 线性基 贪心 拟阵] BZOJ 2460 [BeiJing2011]元素
- 单调队列
- POJ 3267 The Cow Lexicon DP
- Android与单片机的信息传输方案
- Codeforces 152C Pocket Book 思维
- 【小小感悟】——米老师思想感悟
- BZOJ 3105 线性基 高斯消元
- 通过Spring Data Neo4J操作您的图形数据库
- nodejs中require的路径是一个文件夹时发生了什么
- C语言数据类型
- 数据结构——逆波兰表示法
- CRC校验
- 随笔
- [BZOJ4553][Tjoi2016&Heoi2016]序列 CDQ分治
- C++学习笔记:C的继承与超越——指针与引用