数论中的异或
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 75(41 users) Total Accepted: 35(30 users) Rating:  Special Judge: No
Description
给出两集合A和B, 找出最小的非负整数x使得A⊕x=B.
假设A={a1,a2,…,an}, A⊕x={a1⊕x,a2⊕x,…,an⊕x}.⊕代表异或操作
Input
输入的第一行是一个整数T,表示一共有T组测试数据;
对于每组测试数据,第一行是一个整数n代表集合A和B的大小
第二行包含n个整数a1,a2,a3,....an,代表集合A的元素。
第三行包含n个整数b1,b2,b3,....bn,代表集合B的元素。
(1<=n<=100000,n是奇数,0<=ai<2^30)
Output
如果存在x就输出最小的x,如果不存在就输出-1。
Sample Input
1
3
0 1 3
1 2 3
Sample Output
2

不知道是不是数据太水了,我写的AC代码过不了队友写的样例,但是交上后竟然过了。

我的思路:因为数组a和b的数为n个,且n为奇数,那么就去找a和b里面不同的数个数,如果不同数的个数为1,那么结果就是这两个数异或的值,如果超过一个,则输出-1 。

因为数组的元素个数均为奇数,那么两数组去掉非公共数之后肯定能有一个数x,a异或x可以得到b里面的数,而数x就是这两个不相同的数异或得到的。

感觉这样写漏洞好多,比如:如果a,b中有三个不相同的数,但是可以通过a异或数x得到b,这种情况在我的代码里输出是-1,但是应该是存在数x的(没有验证,不知道是不是真的存在)。

欢迎各位大佬留言找到的错误数据

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
#define ll long long
using namespace std;
const int maxn=1e6+3;
ll a[maxn],b[maxn];
int main()
{
int n,t;
scanf("%d",&t);
while(t--)
{
int sum=0;
map<int,int>p;
ll sum1=0;
ll sum2=0;
ll sum3=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%lld",&a[i]);
sum1+=a[i];
p[a[i]]=1;
}
for(int i=0;i<n;i++)
{
scanf("%d",&b[i]);
sum2+=b[i];
if(p[b[i]]==0) sum+=1;
else sum3+=b[i];
}
if(sum>1) printf("-1\n");
else
printf("%lld\n",(sum1-sum3)^(sum2-sum3));
}
return 0;
}

正确的代码在这里

[HRBUST-1688]数论中的异或(思维题)的更多相关文章

  1. G - WiFi Password Gym - 101608G (异或思维题+曲尺)

    题目链接:https://cn.vjudge.net/contest/285962#problem/G 题目大意:给你n和m,n代表有n个数,然后让你找出一个最长的区间,使得这个区间内的所有的数的‘’ ...

  2. 为什么位运算可以实现加法(1、 不考虑进位的情况下位运算符中的异或^可以表示+号)(2、 位运算符中的与运算符&和左移运算符<<可以模拟加法中的进位)(3、位运算不仅可以做加法,还可以做其它的乘法减法等:计算机本质是二进制运算)

    为什么位运算可以实现加法(1. 不考虑进位的情况下位运算符中的异或^可以表示+号)(2. 位运算符中的与运算符&和左移运算符<<可以模拟加法中的进位)(3.位运算不仅可以做加法,还 ...

  3. 如何合理利用iMindMap中的模板创建思维导图

    思维导图的制作并不是一项简单的工作,尤其是对许多工作或学习有特殊要求的朋友而言,当我们需要应对不同场景制作不同的思维导图时,总不能都靠自己从头制作,这样难度比较大也比较耗时.而iMindMap(win ...

  4. Xor 思维题

    Xor 思维题 题目描述 小\(Q\)与小\(T\)正在玩一棵树.这棵树有\(n\)个节点,编号为 \(1\),\(2\) \(3...n\),由\(n-1\)条边连接,每个节点有一个权值\(w_i\ ...

  5. PJ考试可能会用到的数学思维题选讲-自学教程-自学笔记

    PJ考试可能会用到的数学思维题选讲 by Pleiades_Antares 是学弟学妹的讲义--然后一部分题目是我弄的一部分来源于洛谷用户@ 普及组的一些数学思维题,所以可能有点菜咯别怪我 OI中的数 ...

  6. BZOJ4401: 块的计数 思维题

    Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是 ...

  7. 思维题--code forces round# 551 div.2

    思维题--code forces round# 551 div.2 题目 D. Serval and Rooted Tree time limit per test 2 seconds memory ...

  8. CodeForces - 631C ——(思维题)

    Each month Blake gets the report containing main economic indicators of the company "Blake Tech ...

  9. UVA.699 The Falling Leaves (二叉树 思维题)

    UVA.699 The Falling Leaves (二叉树 思维题) 题意分析 理解题意花了好半天,其实就是求建完树后再一条竖线上的所有节点的权值之和,如果按照普通的建树然后在计算的方法,是不方便 ...

随机推荐

  1. steam

    1.steam 教育 Science(科学), Technology(技术), Engineering(工程), Arts(艺术), Maths(数学) 2.  steam 平台 Steam英文原译为 ...

  2. 【Jmeter】Linux(Mac)上使用最新版本Jmeter(5.0)做性能测试

    本文我们一起来学习在Linux(Mac)上利用Jmeter进行性能测试并生成测试报告的方法. 环境准备 JDK 访问这个地址 [JDK11.01],根据实际环境下载一个JDK. Jmeter Jmet ...

  3. URAL 1741 Communication Fiend

    URAL 1741 思路: dp 状态:dp[i][1]表示到第i个版本为正版的最少流量花费 dp[i][0]表示到第i个版本为盗版的最少流量花费 初始状态:dp[1][0]=dp[0][0]=0 目 ...

  4. spring boot: spring-data-jpa (Repository/CrudRepository) 数据库操作, @Entity实体类持久化

    SpringBoot实现的JPA封装了JPA的特性, Repository是封装了jpa的特性(我是这么理解的) 1在pom.xml引入mysql, spring-data-jpa依赖 2.在src/ ...

  5. JDK1.5 新特性

    1:自动装箱与拆箱 自动装箱:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue ...

  6. Oracle 11g 物理Dataguard日常操作维护(二)

    Oracle 11g 物理Dataguard日常操作维护(二) 2017年8月25日 14:34 3.3 3.3.1 查看备库进程状态 SYS(125_7)@fpyj123> select pr ...

  7. iOS UI-表格控制器(UITableView)-基本使用

    tableView的常见属性 cell的常见属性 一.一般情况 #import "ViewController.h" @interface ViewController ()< ...

  8. dns 服务架构优化 - 百万级并发不是梦 - bind+namedmanager+dnsmasq

    bind: DNS服务端. namedmanager: DNS web管理页面. dnsmasq: 并发查询上游dns域名解析. 问题:作为消息推送业务,单台业务机器域名解析并发达到上万次.业务机器集 ...

  9. Kubernetes设计架构

    官方文档:https://www.kubernetes.org.cn/doc-11 Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc), ...

  10. 深入理解$watch ,$apply 和 $digest --- 理解数据绑定过程——续

    Angular什么时候不会自动为我们$apply呢? 这是Angular新手共同的痛处.为什么我的jQuery不会更新我绑定的东西呢?因为jQuery没有调用$apply,事件没有进入angular ...