牛客 - 17968 - xor序列 - 线性基
https://ac.nowcoder.com/acm/problem/17968
下面是错误的做法,因为题目要求必须使用x,而y在check的时候不一定用到等价于x的线性基来构成。
正确的做法是直接check(x^y),这样y已经使用了x,再看看能不能经过其他数表示。
因为异或是交换群。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int MN=34;
ll a[MN+1],tmp[MN+1];
ll copya[MN+1];
bool flag;//该线性基能否表示0
//尝试向线性基中插入一个值
void ins(ll x,ll *lb) {
for(int i=MN; ~i; i--)
if(x&(1ll<<i))
if(!lb[i]) {
lb[i]=x;
return;
} else
x^=lb[i];
flag=true;
}
//判断该线性基能否表示x
bool check(ll x,ll *lb) {
if(x==0)
return flag;
for(int i=MN; ~i; i--)
if(x&(1ll<<i))
if(!lb[i])
return false;
else
x^=lb[i];
return true;
}
int main() {
int n;
scanf("%d",&n);
ll x,y;
for(int i=1; i<=n; i++)
scanf("%lld",&x),ins(x,a);
int q;
scanf("%d",&q);
while(q--) {
scanf("%lld%lld",&x,&y);
for(int i=0; i<=MN; i++) {
copya[i]=a[i];
}
ins(x,copya);
if(check(y,copya)) {
puts("YES");
} else {
puts("NO");
}
}
return 0;
}
牛客 - 17968 - xor序列 - 线性基的更多相关文章
- 牛客练习赛26—D xor序列 —线性基
这是我第一次写关于线性基的题目.其实这题很好理解,先把给出的数能异或出的值给存在p数组里面,p[i]代表着该异或出的数的最高位为第i位且为1. 求出来后,再把x,y处理下,然后直接一位一位的判断是否为 ...
- Nowcoder 练习赛26 D xor序列 ( 线性基 )
题目链接 题意 : 中文题.点链接 分析 : 对于给定的 X 和 Y 假设存在一个 Z 使得 X (xor) Z = Y 做一个变形 X (xor) Z (xor) Y = 0 X (xor) Y = ...
- 【BZOJ2115】Xor(线性基)
[BZOJ2115]Xor(线性基) 题面 BZOJ Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si ...
- 2019牛客暑期多校训练营(第一场):XOR(线性基)
题意:给定数组,求所有异或起来为0的集和的大小之和. 思路:由于是集合大小,我们换成考虑每个元素在多少个集合里有贡献. 先生成线性基. 对于没有插入线性基的元素x,贡献是2^(N-base-1),因为 ...
- 2019牛客多校第四场B xor(线性基求交)题解
题意: 传送门 给\(n\)个集合,每个集合有一些数.给出\(m\)个询问,再给出\(l\)和\(r\)和一个数\(v\),问你任意的\(i \in[l,r]\)的集合,能不能找出子集异或为\(v\) ...
- 专题--XOR之线性基
没想到xor居然和线性代数有着那么有趣的联系哎 n个数可以转化为一个上三角矩阵 (线性无关?!) 链接:https://www.nowcoder.com/acm/contest/180/D来源:牛客 ...
- 【HDU 3949】 XOR (线性基,高斯消元)
XOR Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Codeforces 959F Mahmoud and Ehab and yet another xor task 线性基 (看题解)
Mahmoud and Ehab and yet another xor task 存在的元素的方案数都是一样的, 啊, 我好菜啊. 离线之后用线性基取check存不存在,然后计算答案. #inclu ...
- 2115: [Wc2011] Xor (线性基+dfs)
2115: [Wc2011] Xor Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 5714 Solved: 2420 题目链接:https://w ...
随机推荐
- ios开发动物园管理 继承多态的实现
// // main.m // 继承 // // #import <Foundation/Foundation.h> #import "Animal.h" #impor ...
- JSP学习笔记(一)
JSP是基于JAVA语言的,区分大小写,HTML不区分大小写 如何建立Web服务目录? 1.在Webapps下面建立Web服务目录MYJSP 在Webapps下面新建文件夹MYJSP,将写好的jsp文 ...
- .Net 中的反射(动态创建类型实例)
动态创建对象 在前面节中,我们先了解了反射,然后利用反射查看了类型信息,并学习了如何创建自定义特性,并利用反射来遍历它.可以说,前面三节,我们学习的都是反射是什么,在接下来的章节中,我们将学习反射可以 ...
- LeetCode(83)题解: Remove Duplicates from Sorted List
https://leetcode.com/problems/remove-duplicates-from-sorted-list/ 题目: Given a sorted linked list, de ...
- EasyPusher实现将asterisk直播流以RTSP转发实现通话直播与录像
本文转自博客:http://blog.csdn.net/jinlong0603/article/details/56047145 EasyPusher RTP直播推送介绍 EasyPusher是一个推 ...
- 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案(转)
问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务 ...
- 官方文档Core Technologies - Part 1
首先介绍系列文章内容及Spring Framework官方文档情况. 在这一系列学习中,我阅读的主要资源是5.1.2 Reference Doc.,以及论坛大神的讲解blog.另外,Spring官方也 ...
- 分布式锁(Zookeeper实现)
分布式锁 分布式锁,这个主要得益于 ZooKeeper 为我们保证了数据的强一致性.锁服务可以分为两类,一个是 保持独占,另一个是 控制时序. 1. 所谓保持独占,就是所有试图来获取这个锁的客户端,最 ...
- NSMutableURLRequest,在POST方式下传递参数
1. [代码][C/C++]代码 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; NSUs ...
- linux系统配置之服务程序的开机自启动(centos)
CentOS安装好apache.mysql等服务器程序后,并没有设置成开机自动启动的,为避免重启后还要手动开启web等服务器,还是做下设置好,其实设置很简单,用chkconfig命令就行了. 例如,要 ...