\(\color{red}{Link}\)

\(\color{blue}{\text{Solution:}}\)

题目要求构造一个最短的序列,使得异或和为\(u\),数列和为\(v\).

那么,因为是异或,所以最终序列的\(u\)对应的二进制位一定出现了奇数次,其他一定是偶数次。

显然\(u,v\)奇偶性不同或是\(u>v\)则无解。异或和显然小于数列和。

当\(u=v\)时,输出一个数\(u\)即可。

但\(u\not= v\)时,考虑下面情况:

令\(\delta=v-u,h=\frac{\delta}{2}\),

若\(\text{h&u}=0\)则输出两个数\(h,\text{u^h}\)。因为此时\(\text{u^h}=u+h,u+h+h=u+\delta=v,\text{u^h^h=u}.\)

否则,输出三个数\(h,h,u\)即可。这个显然。且一定不存在两个数的解法。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,a[500000],u,v,cnt; int main(){
scanf("%lld%lld",&u,&v);
ll dt=v-u;
if(u==v&&u==0){
puts("0");
return 0;
}
if(dt<0||(dt&1)){
puts("-1");
return 0;
}
else if(dt==0){
cout<<1<<endl<<u<<endl;
return 0;
}
else{
long long h=dt>>1;
if(!(h&u))cout<<2<<endl<<h<<" "<<(h^u)<<endl;
else cout<<3<<endl<<h<<" "<<h<<" "<<u<<endl;
}
return 0;
}

【题解】Ehab the Xorcist的更多相关文章

  1. 题解-Ehab's REAL Number Theory Problem

    Ehab's REAL Number Theory Problem 前置知识 质数 分解质因数 无向无权图最小环<讲> Ehab's REAL Number Theory Problem/ ...

  2. D. Ehab the Xorcist

    题意: 略: 感觉被演了一波,这是CFdiv2吗? 算是这个构造题吧. 1 首先我们可以将u进行二进制拆分来考虑.加入u>v那么小与v的那些数在怎么拼接也无法使异或值为u. 比如二进制U=1 0 ...

  3. D. Ehab the Xorcist(纯构造方法)

    \(如果觉得下面难以理解,可以去这里看一种较为简单的解法\):saf \(这个题嘛,首先要明确异或的性质:相同为0,不同为1.\) \(举个例子,我们来构造u=15和v=127的情况\) \(注意到, ...

  4. Codeforces Round #628 (Div. 2) D. Ehab the Xorcist(异或,思维题)

    题意: 寻找异或后值为 u,相加后和为 v 的最短数组. 思路: 异或得 u ,则 v 至少应大于等于 u ,且多出来的部分可以等分为两份相消. 即初始数组为 u , (v-u)/2 , (v-u)/ ...

  5. Codeforces Round #628 (Div. 2) 题解

    人闲桂花落,夜静春山空. 月出惊山鸟,时鸣春涧中.--王维 A. EhAb AnD gCd You are given a positive integer x. Find any such 2 po ...

  6. Codeforces Round #628 (Div. 2)

    1325A - EhAb AnD gCd 题意:随意找两个数是他们的最大公约数 GCD 与最小公倍数 LCM 之和为所给定的值. 思路:找一下规律 ,假设所给的 数位n, 那么我们将n分成 1 ,n- ...

  7. Codeforces 959F Mahmoud and Ehab and yet another xor task 线性基 (看题解)

    Mahmoud and Ehab and yet another xor task 存在的元素的方案数都是一样的, 啊, 我好菜啊. 离线之后用线性基取check存不存在,然后计算答案. #inclu ...

  8. [CF959E]Mahmoud and Ehab and the xor-MST题解

    解法 又是一道结论题? 我的做法比较奇怪且没有证明 #include <cstdio> #include <cmath> #define ll long long int ma ...

  9. [CF959A]Mahmoud and Ehab and the even-odd game题解

    题意简述 一个数n,Mahmoud珂以取(即如果取\(k\),使\(n = n - k\))一个正偶数,Ehab珂以取一个正奇数,一个人如果不能取了(对于Mahmoud和Ehab \(n = 0\), ...

随机推荐

  1. wxWidgets教程

    https://www.wxwidgets.org/docs/tutorials/ http://zetcode.com/gui/wxwidgets/ https://docs.wxwidgets.o ...

  2. 项目实战:Qt+Ffmpeg+OpenCV相机程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  3. 10 张图聊聊线程的生命周期和常用 APIs

    上一篇文章我们聊了多线程的基础内容,比如为什么要使用多线程,线程和进程之间的不同,以及创建线程的 4 种方式.本文已收录至我的 Github: https://github.com/xiaoqi666 ...

  4. leetcode刷题-46全排列

    题目 给定一个 没有重复 数字的序列,返回其所有可能的全排列. 思路 回溯算法 不断取出字符,对剩余字符进行选择 实现 class Solution: def permute(self, nums: ...

  5. CDH5.16.1集群企业真正离线部署

    一.准备工作 1.离线部署主要分为三块: MySQL离线部署 CM离线部署 Parcel文件离线源部署 2.规划 节点 MySQL部署组件 Parcel文件离线源 CM服务进程 大数据组件 hadoo ...

  6. python基础 画图

    python 画图 matplotlib 库只保存图片,不显示图片? 在导入库时,添加如下代码 import matplotlib matplotlib.use('Agg')  各种 symbol ? ...

  7. 本周 GitHub 速览:自动化当道,破密、爬虫各凭本事

    作者:HelloGitHub-小鱼干 摘要:安全门外汉,如何在不知道密钥或密码的情况下,破解哈希得到原文,Ciphey 会告诉你当中的密码.说到 auto 智能爬虫会基于上一次的爬虫经历进一步学习以获 ...

  8. windows下nginx的配置

    这里做的nginx的配置主要的功能是: 能够用localhost访问本地文件夹中的项目 输入ip地址访问本地文件夹中的项目 反向代理其他地址访问本地文件 1.nginx安装地址 2.解压之后的文件如下 ...

  9. openstack核心组件——keystone身份认证部署服务(5)

    node1主机执行 1.mysql -u root -p 2.create database keystone; 创建数据库 MariaDB [(none)]> show databases; ...

  10. oracle adf 入门

    入门必踩坑 坑1:jdeveloper里没有mysql的driver,在maven库里引入了,connection里连接正常,但是deploy出错,can't load driver.即使在项目和to ...