2074C蒟蒻补题

news/2025/3/14 12:14:25/文章来源:https://www.cnblogs.com/chicali/p/18768308

首先我们要知道一个知识
加法运算的位运算表示
x+y = x^y+2*x&y

x^y算出的是x和y之间位相加但不进位的结果
2*x&y算出的是x和y之间的有进位的对应位
eg:
110和110
我们在第3位和第2位都有进位
但是实际上我们是要进位到第4位和第3位
所以我们还要对x&y的结果向左做移位运算,也就是2*x&y

好了现在我们知道了加法运算的位运算表示,我们可以开始推导一些式子了
如非退化三角形要求的x+y>x^y
我们可以看成是x^y+2*x&y>x^y
即可推导出x&y>0
所以x和y之间至少有一位是需要相同的

继续由退化三角形我们还有y+x^y>x
y+x+y-2*x&y>x
所以有
y>x&y
所以我们还得知了y中至少包含一个x中为打开的位(x有一位为0,而这位在y中为1)
所以我们便将问题转化为了寻找一个数,它的某一位是1,而x中为0,它的某一位为1,且x中也为1
所以我们便可以暴力枚举所有只有两位是1的数,判断它是否和x满足非退化三角形的关系
注:为什么没考虑x+x^y>y(因为x>y,x&y>=0,所以这是显然的hh~)
在没有判断非退化三角形前x&y的取值范围为>=0
借鉴了官方题解的代码
有没有更好的做法???

#include <iostream>
using namespace std;int main(){int t;cin>>t;while(t--){int x;cin>>x;int ans = -1;for(int i=0;i<=30;i++) for(int j=0;j<=30;j++){int y = (1<<i|1<<j);if(y<x&&x+y>(x^y)&&y+(x^y)>x){ans = y;}}cout<<ans<<endl;}return 0;}

附:

//位运算实现加法的代码
#include <iostream>
using namespace std;int main(){int a,b;cin>>a>>b;int t = int(a^b)+(int(a&b)<<1);cout<<t<<endl;return 0;}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汉字和英文字符对齐研究

1. Windows记事本的情况 2. VS Code 的情况 3. VS 2022的情况 和记事本一样, 不再贴图。4. 总结 1) 不同的编辑器,不同的字体,情况不一样2) 中文和英文,需要不同的个数,才能完全对齐 3) 如果中英文字符数,不能达到上面的字数的倍数,无法对齐 4) 对于强迫症,可以通…

python的基本运用(4)——列表、元组和集合

一、列表(list) (1)列表的介绍和定义 1、类型:"list" 2、符号:[ ] 3、定义列表: a、[ ] 通过[ ] 来定义b、通过list 转换(2)列表的运用 1、通过索引添加值(覆盖原来的值)2、append 添加函数3、insert 在指定的索引位添加元素4、extend 连接两个列表5、rem…

2025 release of Visual Studio Code.

February 2025 (version 1.98) 更新后显示发行说明 Update 1.98.1: The update addresses these issues. Update 1.98.2: The update addresses these issues.Welcome to the February 2025 release of Visual Studio Code. There are many updates in this version that we ho…

销售秘籍:直觉与策略,让客户 “起死回生”

在销售领域里,有时候真得靠自己的直觉来行事。 干这行时间久了,直觉就越来越靠谱。说白了,这有点像一种难以言说的感觉;往正式了说,这就是基于行业经验的直觉判断,是一点点积累起来的。 首先得清楚,对于这类客户,别太纠结,毕竟95%的希望都没了,就当作是“希望不大”的…

UART简介

1.0 UART简介在Linux系统中,终端是一种字符型设备,它有多种类型,通常使用tty(Teletype)来简称各种类型的终端设备。对于嵌入式系统而言,最普遍采用的是UART(Universal Asynchronous Receiver / Transmitter )串行端口,日常生活中简称串口。UART(通用异步收发器)是…

拆解米尔RK3576开发板:瑞芯微第二代AIoT平台如何实现高性价比边缘计算?

文章来源:硬件笔记本最近,AI的风刮得是真猛啊!各种AI工具层出不穷,仿佛一夜之间,人工智能就从科幻走进了现实。作为一名硬件工程师,我自然也按捺不住内心的激动,琢磨着怎么把AI和硬件结合起来,搞点有意思的项目。 这不,机会来了!刚好看到国内知名主板厂商米尔电子新推…

博客迁移~

感谢还在关注本博客的各位朋友 (▽) 我新开了一个博客站点,组织内容跟当前站点的风格不同一样,采用知识花园的形式,内容基本上是我 Obsidian 笔记中挑选出比较完善的部分进行发布,同样也会有像本博客一样的文章,今后大部分内容都会发布在新站点,当然也会适当同步一些文章…

安川机器人DX100示教器维修常见故障合集

在现代工业生产中,安川机器人发挥着极为重要的作用。然而,如同任何设备一样,它们也会遭遇故障,尤其是DX100示教器部分。安川机器人维修、YASKAWA机器人维修(YASKAWA是安川的英文品牌名)、工业机器人维修都是保障生产持续进行的关键环节。对安川机器人示教器维修中的常见故…

SpringSecurity5(5-自定义短信、手机验证码)

本文介绍如何在 Spring Security 中自定义验证码和短信验证码校验,包括生成验证码、存储与校验逻辑、过滤器配置及适配认证流程,确保用户安全登录,同时提升灵活性与可扩展性。适用于登录安全加固及自定义认证需求。图形验证码 SpringSecurity 实现的用户名、密码登录是在 Us…

NineData社区版抢先体验,获取无人机、双肩包、充电宝等周边福利

NineData社区版现已正式上线,支持通过 Docker 部署至本地,保障数据安全与操作留存在本地。为庆祝发布,NineData 开启技术体验官征文活动,邀请开发者分享安装、使用及优化建议等经验。活动设置丰厚奖品,包括大疆无人机、高级旅行箱等,并提供多种加分机制,如真实场景分享和…

EtherCAT转Profinet揭秘网关模块促成西门子PLC与伺服电机通讯的协议转换秘诀案例​

一. 案例背景 西门子1200PLC通过捷米特JM-ECTM-PN(EtherCAT转ProfiNet)网关将松下伺服电机(包括不限于型号MHMFO22D1U2M)或EtherCAT协议的其它设备或连接到ProfiNetPLC上,并在正常运行中支持EtherCAT协议。本产品可作为EtherCAT主站,做为西门子S7-1200系列PLC的从站并在监…

vcftools根据个体id提取数据和删除数据

001、vcftools根据个体id提取数据[b20223040323@admin2 test5]$ ls id.list outcome.vcf [b20223040323@admin2 test5]$ cat id.list GMM5 GMM6 GMM7 GMM8 [b20223040323@admin2 test5]$ grep "^#" outcome.vcf | tail -n 1 | cut -f 10- GMM1 GMM2 GMM3 G…