思维+位运算,CF 1934D1 - XOR Break --- Solo Version

news2024/11/15 15:24:41

一、题目

1、题目描述

2、输入输出

2.1输入

2.2输出

3、原题链接

1934D1 - XOR Break --- Solo Version


二、解题报告

1、思路分析

合法操作会让 n 越变越小

假如最高位1为 b1, 次高位1 为b2

那么我们去掉b1 的 1最大能够得到的数为 (1 << b2) - 1

假如n 和 m 最高位1都是b1,那么有n ^ m < n,我们此时可以一步操作

否则,我们必须去掉b1,我们看(1 << b2) - 1 和 m 的关系,如果m > (1 << b2) - 1,说明无法得到,输出-1

否则,我们可以两步得到:

第一步:去掉b1,得到(1 << b2) - 1

第二步:异或 x = ((1 << b2) - 1) ^ m,x 显然x < (1 << b2) - 1

于是我们可以发现,如果存在合法解,那么最多两步就能得到

2、复杂度

时间复杂度: O(1)空间复杂度:O(1)

3、代码详解

 ​
import sys

input = lambda: sys.stdin.readline().strip()
MII = lambda: map(int, input().split())
LMI = lambda: list(map(int, input().split()))
LI = lambda: list(input())
II = lambda: int(input())
I = lambda: input()
fmax = lambda x, y: x if x > y else y
fmin = lambda x, y: x if x < y else y
P = 1_000_000_007

def solve():
    n, m = MII()
    if n ^ m < n:
        print(1)
        print(n, m)
        return
    hi = 1 << (n.bit_length() - 1)
    ma = (1 << (n ^ hi).bit_length()) - 1
    if ma < m:
        print(-1)
    else:
        print(2)
        print(n, ma, m)

if __name__ == "__main__":
    T = 1
    T = II()
    for _ in range(T):
        solve()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1982665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像传感器 - 从零开始认识各种传感器【二十六期】

图像传感器|从零开始认识各种传感器 1、什么是图像传感器&#xff1f; 图像传感器是将光信号转换为电信号的设备&#xff0c;图像传感器通过捕捉光子并将其转化为电子信号&#xff0c;从而生成数字图像。它是数码相机、摄像机、智能手机、无人机、自动驾驶汽车以及各种工业和医…

良心推荐!分享6个强大的电脑软件,每一个都非常实用

良心推荐&#xff01;分享6个功能强大的电脑软件&#xff0c;每一个都非常实用&#xff01; 1.Listen1 一个可以免费听音乐的软件&#xff0c;也可以在浏览器上作为插件使用&#xff0c;曲库丰富&#xff0c;里面涵盖了QQ音乐、酷狗音乐、网易云音乐等多个平台的歌单资源&…

【MySQL】索引——索引的实现、B+ vs B、聚簇索引 VS 非聚簇索引、索引操作、创建索引、查询索引、删除索引

文章目录 MySQL5. 索引的实现5.1 B vs B5.2 聚簇索引 VS 非聚簇索引 6. 索引操作6.1 创建主键索引6.2 创建唯一索引6.3 创建普通索引6.4 创建全文索引6.5 查询索引6.6 删除索引 MySQL 5. 索引的实现 因为MySQL和磁盘交互的基本单位为Page&#xff08;页&#xff09;。 MySQL 中…

LTrack:实现夜间多目标追踪,并开放低光多目标追踪数据集LMOT

摘要 低光场景在现实应用中很常见&#xff08;例如&#xff0c;夜间的自动驾驶和监控&#xff09;。最近&#xff0c;多目标跟踪在各种实际用例中受到了很多关注&#xff0c;但黑暗场景中的多目标跟踪却很少被考虑。在本文中&#xff0c;我们专注于黑暗场景中的多目标跟踪。为…

点菜吧——随便点 C#生成套餐

前言 一到食堂发现有多种选择&#xff0c;但是有一个固定的套路&#xff0c;只能是一个荤&#xff0c;二个小荤&#xff0c;菜品数量也不少&#xff0c;任君选择&#xff0c;如果是一个选择困难症&#xff0c;就有点烦了&#xff0c;所以出品这个自动生成套餐软件。各位老板可…

Mysql原理与调优-InnoDB行记录结构

目录 1.绪论 2.InnoDB的记录格式分类 3.compact格式 3.1 基本组成 3.2 记录额外信息 3.2.1 记录额外信息组成 3.2.2 变成字段长度列表 3.2.3 null值列表 3.2.4 记录头信息 3.3 实际记录 3.3.1 溢出页 3.3.2 varchar最多可以储存多少个字符的数据 4.其他记录格式和c…

配置python的基本环境

python的背景知识 python是咋来的&#xff1f; Python 是一种广泛使用的高级编程语言&#xff0c;由 Guido van Rossum 在1989年底发明&#xff0c;第一个公开发行版发行于1991年。Python 的设计哲学强调代码的可读性和简洁的语法&#xff08;尤其是使用空格缩进来区分代码块…

tcpdump使用指南

tcpdump 是一款强大的网络抓包工具&#xff0c;它使用 libpcap 库来抓取网络数据包&#xff0c;这个库在几乎在所有的 Linux/Unix 中都有。 tcpdump src 10.5.2.3 and dst port 3389 # 1. 基于IP地址过滤 # 根据源ip进行过滤 $ tcpdump -i eth2 src 192.168.10.100# 根据目标…

sqli-labs靶场练习(1、5-8关)

自己搭建环境啊喂...http://127.0.0.1/sqli-labs-php7-master/ 第一关 1.单引号判断是否存在注入点 /?id1 2.查询列数 ?id1 order by 3-- ?id1 order by 4-- 由此可判断有3列 3.查询用户名和密码分别在哪列 ?id-1 union select 1,2,3 -- 4.查询数据库名称为security ?…

CC2530组网实验-1

1&#xff0c;ZigBee协议栈 协议是一系列的通信标准&#xff0c;通信双方需要共同按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式&#xff0c;通俗点来理解就是协议栈是协议和用户之间的一个接口&#xff0c;开发人员通过使用协议栈来使用这个协议的&…

生活一地猫毛,空气还有猫浮毛!宠物空气净化器帮你消除这些烦恼

随着换毛季节的到来&#xff0c;铲屎官们如临大敌&#xff0c;猫咪将它们的毛发洒满每一个角落&#xff0c;仿佛室内下起了毛茸茸的飘雪。对于铲屎官来说&#xff0c;这不仅耗费时间的清理任务&#xff0c;更是一场守护健康的保卫战。为此&#xff0c;采取了许多措施来应对猫咪…

STL中的vector以及简单实现

vector的简单介绍&#xff1a; 头文件&#xff1a; #include<vector> vector是属于STL的一员&#xff0c;虽然vector的英文意思是向量&#xff0c;但是vector就是一个顺序表&#xff1b; 对于vector来说&#xff0c;面对string的设计的复杂和冗余&#xff0c;vector就…

Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序

Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序 这篇博文将介绍一个基于SSM框架和Vue开发的图书馆座位预约系统微信小程序&#xff0c;适合用于Java毕业设计。 功能介绍 用户 登录 注册 首页 图片轮播 关于我们 公告信息 图书馆信息 图书馆详情 预约选座 收藏 …

Tkinter Designer:拖拽式加速Python Tkinter GUI开发的神器

引言 在Python的世界里&#xff0c;创建美观且功能强大的图形用户界面&#xff08;GUI&#xff09;向来是开发者的挑战之一。Tkinter&#xff0c;作为Python的内置GUI库&#xff0c;虽然功能强大&#xff0c;但在实际使用中&#xff0c;设计和实现GUI的过程往往耗时且繁琐。Tki…

Linux中信号的处理

进程正在递达某一个信号期间&#xff0c;同类型的信号无法被递达&#xff01;&#xff01;&#xff01; 当当前信号正在被捕捉事&#xff0c;系统会自动将当前信号加入到进程的信号屏蔽字&#xff08;block&#xff09;。 当信号完成捕捉动作&#xff0c;系统又会自动解除对该…

R语言BIOMOD2 及机器学习方法的物种分布模拟与案例分析

BIOMOD2是一个R软件包&#xff0c;用于构建和评估物种分布模型&#xff08;SDMs&#xff09;。它集成了多种统计和机器学习方法&#xff0c;如GLM、GAM、SVM等&#xff0c;允许用户预测和分析物种在不同环境条件下的地理分布。通过这种方式&#xff0c;BIOMOD帮助研究者评估气候…

Linux-理解shell

文章目录 5. 理解shell5.1 shell的类型5.2 交互shell和系统默认shell5.3 安装zsh shell程序5.4 shell的父子关系5.5 命令列表5.6 命令分组5.7 使用命令分组创建子shell5.8 子shell用法5.9 shell的非内建命令和内建命令5.9.1 非内建命令5.9.2 内建命令5.9.3 history和alias命令介…

Cornerstone加载本地Dicom文件第二弹 - Blob篇

&#x1f340; 引言 当我们刚接触Cornerstone或拿到一组Dicom文件时&#xff0c;如果没有ImageID和后台接口&#xff0c;可能只是想简单测试Cornerstone能否加载这些Dicom文件。在这种情况下&#xff0c;可以使用本地文件加载的方法。之前我们介绍了通过node启动服务器请求文件…

cuda pytorch安装详细教程 GPU版

1.先安装anaconda Anaconda 1.1这里用了最简单的方法&#xff0c;后面将pytorch直接安装到base配置下面了。 1.2下载安装&#xff0c;全部勾选。 一定添加文件夹到path中去&#xff0c;否则后面下载pytorch&#xff0c;无法传输。 1.3 通过cmd&#xff0c;输入conda --versio…

CSP-J 模拟题2

如果x大于45&#xff0c;则输出-1 设定一个整数now&#xff0c;他的初始值为9&#xff1b; 当x>now&#xff0c;就x-now&#xff0c;并且now--; 根据解析写代码1&#xff1a; #include <bits/stdc.h> using namespace std; int a[101010]; int main(){int x;cin>…