Codeforces Round #628 (Div. 2) D. Ehab the Xorcist(异或,思维题)
2024-08-29 21:19:18
题意:
寻找异或后值为 u,相加后和为 v 的最短数组。
思路:
异或得 u ,则 v 至少应大于等于 u ,且多出来的部分可以等分为两份相消。
即初始数组为 u , (v-u)/2 , (v-u)/2,之后即为特判或判断是否可以合并。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll; int main()
{
ll u,v;cin>>u>>v; ll a=(v-u)/2; if(v<u||(v-u)%2)
cout<<"-1";
else if(u==0)
cout<<"0";
else if((u+a+a)==u)
cout<<"1"<<'\n'<<u;
else if(((u+a)^a)==u)//不会有(u^(a+a))==u,因为此时a+a!=0
cout<<"2"<<'\n'<<u+a<<' '<<a;
else
cout<<"3"<<'\n'<<u<<' '<<a<<' '<<a; return 0;
}
最新文章
- MySql: show databases/tables use database desc table
- jQuery知识点总结(第三天)
- VS 开发工具中的Remote Debug 功能远程调试程序经验分享
- redis的实现过程
- WordPress 主题开发 - (五)WordPress 主题模板及目录结构 待翻译
- [GRYZ2015]Graph
- Learn Objectvie-C on the Mac 2nd Edition 笔记
- java和javascript获取word文档的书签位置对比
- 简单的JQuery top返回顶部
- vim忽略大写和小写查找配置
- 用C#绘图实现动画出现卡屏(运行慢)问题的解决办法
- 有时在UIWindow上添加遮罩层不成功的原因
- 【我的漫漫跨考路】有生之年&#183;调完了BUG--冒泡排序C++版本
- 简单table分页
- 基于 HTML5 Canvas 的交互式地铁线路图
- Redis之基本使用
- Unit 1.前端基础之html
- 一:requests爬虫基础
- 【项目 &#183; Wonderland】UML设计
- Fastjson是一个Java语言编写的高性能功能完善的JSON库。