博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线性基
阅读量:4664 次
发布时间:2019-06-09

本文共 2248 字,大约阅读时间需要 7 分钟。

大佬

#include
#define re return#define ll long long#define dec(i,l,r) for(ll i=l;i>=r;--i)#define inc(i,l,r) for(ll i=l;i<=r;++i) using namespace std;template
inline void rd(T&x){ char c;bool f=0; while((c=getchar())<'0'||c>'9')if(c=='-')f=1; x=c^48; while((c=getchar())>='0'&&c<='9')x=x*10+(c^48); if(f)x=-x;}ll n,p[70];inline void insert(ll x){ //不断插入一个数 //如果他不能被当前数表示出来 //就在不能表示的最低位插入 dec(i,62,0) //为了不爆long long最好在63以内 if((x>>((ll)i))) { if(!p[i]) { p[i]=x; re ; } x^=p[i]; } re;}int main(){ //这题开long long 最好所有变量包括循环都开 freopen("in.txt","r",stdin); rd(n); ll x; inc(i,1,n) { rd(x); insert(x); } ll sum=0; dec(i,62,0) if((sum^p[i])>sum) //从高到底插入 sum^=p[i]; printf("%lld",sum); re 0;}

 查询第K小

#include
#define re return#define dec(i,l,r) for(ll i=l;i>=r;--i)#define inc(i,l,r) for(ll i=l;i<=r;++i)using namespace std;template
inline void rd(T&x){ char c;bool f=0; while((c=getchar())<'0'||c>'9')if(c=='-')f=1; x=c^48; while((c=getchar())>='0'&&c<='9')x=x*10+(c^48); if(f)x=-x;}#define ll long longll n,Q,p[64],cnt,ans[65];inline void insert(ll x){ dec(i,63,0) if(x>>i) { if(!p[i]) { p[i]=x; re ; } x^=p[i]; } re ;}inline void Gauss(){ dec(i,63,0) if(p[i]) { inc(j,i+1,63) if((p[j]>>(j-i))&1) p[j]^=p[i]; } //高斯消元??? //将基向量弄成互不影响的那种 memset(ans,0,sizeof ans); inc(i,0,63) if(p[i]) ans[cnt++]=p[i];}int main(){ ll x,T,n,tot; rd(T); while(T--) { printf("Case #%d:\n",++tot); rd(n); cnt=0; memset(p,0,sizeof p); inc(i,1,n) { rd(x); insert(x); } Gauss(); rd(Q); inc(i,1,Q) { rd(x); if(n!=cnt)x--;//异或后可能会有0的存在 if(x>=(1ll<
>j)&1) sum^=ans[j]; printf("%lld\n",sum); } } } re 0;}

 

转载于:https://www.cnblogs.com/lsyyy/p/11551282.html

你可能感兴趣的文章
怎样使用 RMAN 增量备份恢复 data guard log gap(日志断档)
查看>>
盛大 Bambook 手机
查看>>
[Js-Spring]Bean的装配
查看>>
织梦调用指定顶级栏目名称的方法
查看>>
170210、JAVA中List、Map、Set的区别与选用
查看>>
常用的JQuery UI框架
查看>>
CSS之概览
查看>>
java语法体系
查看>>
移动js
查看>>
.net core 记录
查看>>
一个快速将十六进制串转十进制数的方法
查看>>
VS中的build events
查看>>
HDU 1556 线段树或树状数组,插段求点
查看>>
2016 ECJTU - STL
查看>>
codeforces 964D 思维,dfs
查看>>
Python 学习小结
查看>>
ARCGIS接口详细说明
查看>>
STL之vector容器
查看>>
容器启动后执行和执行数据库脚本
查看>>
安装 Panda3D 并使用原有的Python
查看>>