牛客练习赛26:D-xor序列(线性基)
2024-10-19 12:37:41
题意:小a有n个数,他提出了一个很有意思的问题:他想知道对于任意的x, y,能否将x与这n个数中的任意多个数异或任意多次后变为y
题解:线性基
#include <bits/stdc++.h>
using namespace std; const double EPS = 1e-;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + ;
const int maxn = 1e2 + ;
int n, q;
long long p[maxn]; int main()
{
scanf("%d", &n); for(long long i = , x; i < n; i++){
scanf("%lld", &x);
for(int j = ; j >= ; j--){
if(x >> j){
if(!p[j]){
p[j] = x;
break;
}
x ^= p[j];
}
}
} for(int i = ; i < ; i++) cout<<p[i]<<" ";cout<<endl; scanf("%d", &q); long long x, y;
while(q--){
scanf("%lld%lld", &x, &y); x ^= y; for(int j = ; j >= ; j--){
if(x >> j) x ^= p[j];
} if(x) puts("NO");
else puts("YES");
} return ;
}
最新文章
- 深入理解javascript的getTime方法
- zerojs! 造出最好的 CMS 轮子
- windows下用visual studio code 调试go代码
- matlab 画图数据导入
- 分析函数——keep(dense_rank first/last)
- js常用函数、书写可读性的js、js变量声明...
- 服务器环境搭建系列(四)-mysql篇
- iOS开发学习记录【整理】
- python多进程的理解 multiprocessing Process join run
- linux groupmems命令
- (转)DevExpress GridView属性设置
- shell加法
- C#使用ServiceController控制windows服务
- socket 异步通信的一些问题
- PHP 框架实现原理
- 利用隐藏 iframe 下载文件
- 详谈js防抖和节流
- Ex3_2 最近点对
- CSS基础以及属性
- http协议进阶(六)代理