- #include
- using namespace std;
- using VI = vector<int>;
- using ll = long long;
- using PII = pair
; - const ll mod = 998244353;
- const int N = 1e5 + 10;
-
- signed main(){
- ll u,v;
- cin>>u>>v;
- ll delt = v - u;
- if(delt < 0 || delt % 2 == 1){
- cout<<"-1";
- }else{
- if(u == 0 && v == 0){
- cout<<0;
- return 0;
- }
- if(delt == 0){
- cout<<1<<"\n";
- cout<
- }else if((delt / 2 ^ u ) == v - delt / 2){
- cout<<2<<'\n';
- cout<
2<<" "<<(delt / 2 ^ u ); - }else{
- cout<<3<<'\n';
- cout<
2<<" "<2<<" "< - }
- }
- }
很有意思的一个题
先构造一个 u 然后如果全部构造一个相同的数 1 v - u 次 ,如果v-u是奇数,那么很显然是构造不出来的, 如果v - u 是偶数 那么可以构造两个 (v - u)/ 2
下面暴力讨论 u (v - u)/ 2 (v - u) / 2;
很明显异或值恒为 u
如果 u ^ (v - u) / 2 + (v - u)/ 2 == v 那么就可以合并,只需两个数就可以完成构造
-
相关阅读:
抓包工具 Charles 使用手册
为 Visual Paradigm 的应用程序收集 JVM 线程转储
Vue父组件 和 子组件 相互调用修改参数的问题-解决
LeetCode每日两题02:字符串的排列 (均1200道)方法:哈希表-双指针-滑动窗口
pytorch几种learning rate的使用方式
windows系统手把手教你安装python虚拟环境
【BLE Mesh】ble mesh 简介
3D WEB轻量化引擎HOOPS Commuicator技术概览(一):数据导入与加载
特斯拉pre-test (Go)
【数据结构与算法】一文带你学透——算法分析
-
原文地址:https://blog.csdn.net/m0_75125820/article/details/134517081