博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LOJ114 k大(xiao)异或和(线性基)
阅读量:5289 次
发布时间:2019-06-14

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

  构造线性基后将其消至对任意位至多只有一个元素该位为1。于是就可以贪心了,将k拆成二进制就好。注意check一下是否能异或出0。

#include
#include
#include
#include
#include
#include
using namespace std;#define N 100010#define ll long longll read(){ ll x=0,f=1;char c=getchar(); while (c<'0'||c>'9') { if (c=='-') f=-1;c=getchar();} while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar(); return x*f;}bool flag=0;ll n,m,base[51],s;int main(){ freopen("kxor.in","r",stdin); freopen("kxor.out","w",stdout); n=read(); for (int i=1;i<=n;i++) { ll x=read(); for (int j=50;~j;j--) if (x&(1ll<
=s) printf("-1\n"); else { ll ans=0; for (int j=0;j<=50;j++) if (base[j]) { ans^=(k&1)*base[j]; k>>=1; } printf("%lld\n",ans); } } fclose(stdin);fclose(stdout); return 0;}

 

转载于:https://www.cnblogs.com/Gloid/p/9383999.html

你可能感兴趣的文章
用默认的打开方式打开本地文件
查看>>
N*N矩阵的旋转 不开辟新空间
查看>>
怎么才能快速减去皮下脂肪?
查看>>
在游览器上可以连网,Ionic打包后不能连接网络
查看>>
隐藏Android下的虚拟按键
查看>>
通过WebSocket实现一个简单的聊天室功能
查看>>
Flex3.0 图片浏览器(平移、光标中心点放缩、任意角度旋转)
查看>>
数位dp初探
查看>>
Java Development Kit (JDK) 发展历程 及新特性
查看>>
Spring boot学习总结
查看>>
layer删除
查看>>
09.C语言:预处理(宏定义)、字节序、地址对齐
查看>>
Android移动端音视频的快速开发教程(四)
查看>>
Activity生命周期(一) 暨 帮助文档的使用
查看>>
保护继承和私有继承
查看>>
TOJ 3248 Flip Game
查看>>
JS 奇淫巧技 转
查看>>
sql基本命令-存储过程
查看>>
js面向对象(三)---组件开发
查看>>
删除 center os7 openjdk
查看>>