(异或相消)猫猫数字异或和

news/2023/12/1 12:12:54

E - Red Scarf (atcoder.jp)
刚入坑写的一道题被我拉出来对比分析了

我的思路:

垃圾运气选手凭借直觉乱搞猜出来的,没有思路。

题解思路:

由问题陈述中XOR的定义,我们可以看出计算3个或更多整数的XOR可以以任意顺序进行;例如,对于任意三个整数a、b、c,都有a ⊕ b ⊕ c = b ⊕ c ⊕ a = (a ⊕ b) ⊕ c = c ⊕ (a ⊕ b)。我们还可以看到,a ⊕ a = 0对所有整数a成立。结合起来,我们可以断言a ⊕ b ⊕ a = (a ⊕ a) ⊕ b = 0 ⊕ b = b。

现在让我们继续讨论原问题。ai是猫喜欢的数字。设bi为第i只猫的整数。在这里,ai = b1 ⊕ . . . ⊕ bi−1 ⊕ bi+1 ⊕ . . . ⊕ bN。这可能有点突然,但我们将计算给定的N个值a1,…,aN的异或值。此值可以转换如下:

在这里插入图片描述

因此,对于每个i,似乎有bi = S ⊕ ai,因此问题已解决。问题陈述中有一个限制条件,“存在一组整数组合在围巾上与给定信息一致”,“输出”部分说明:“如果有多个可能的解,您可以打印任何一个;”然而,通过这个解决方案,对于任何N个整数a1,…,aN的组合,总是存在一组唯一的整数b1,…,bN使它满足。

流程:

切入点:n为even,
通过思考这个条件的意义,再结合ai是不包括bi的异或和,可以发觉ai的异或和有n-1个bi,奇数次,成对抵消后,剩下一个bi。

异或交换律-> 所有ai的异或,得到所有bi的异或 ->然后再异或ai,就得到了当前数字bi。

如果题目说有多个解,一般存在一种通解。

套路:异或类问题:

前提:

此类问题的前提似乎都非常简单
就是题目中出现了异或这个关键词。

应对:

even次数的异或可以互相抵消,所以一般可以通过列表达式来得到一种互相抵消得到所求的方法。

把刚入坑刷的一道题拉出来对比分析。

1)法斯特异或。(fast异或)

前提:求区间异或和。

:郑轻22级新生C语言周赛(3)——命题人:宋江、张永林、张纪龙复盘_22级c语言考试,我的作答:_Kanna_STELLA的博客-CSDN博客
求0到n的异或和,存在规律
n%4 == 0 时,结果是n,
n%4 == 1 时,结果是1
n%4 == 2 时,结果是n+1
n%4 == 3 时,结果是0
分别算出0-l和0-r的异或和,
再把二者异或起来,even次数的元素抵消,最终得到
l~r的异或和。

2)异或类问题,通过列表达式来找寻思路

#位运算 #异或


http://www.ppmy.cn/news/62140.html

相关文章

MySQL知识学习06(SQL语句在MySQL中的执行过程)

1、MySQL 基本架构概览 下图是 MySQL 的一个简要架构图,从下图可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的。 先简单介绍一下下图涉及的一些组件的基本作用帮助大家理解这幅图 连接器: 身份认证和权限相关(登录 MySQL 的时候)。查询缓…

ConcurrentHashMap实现原理

1. 哈希表 1.1 介绍 哈希表是一种key-value存储数据的结构,根据key即可查到对应的value。 如果所有的键是整数,我们可用简单的无序数组来表示,键作为数组索引,值即为对应的值 1.2 链式哈希表 链式哈希表本质由一组链表构成。每…

【计算机视觉】最强 Zero-Shot 视觉应用:Grounding DINO + Segment Anything + Stable Diffusion

文章目录 一、前言二、功能介绍2.1 功能一2.2 功能二2.3 其他有趣的功能 三、总结 一、前言 用 Midjourney 花一个小时做的项目 logo 图: 解释一下 logo 的含义:一只坐在地上的马赛克风格的熊。 坐在地面上是因为 ground 有地面的含义,然后分…

网页和原生程序的交互方案

1 ActiveX和BHO是微软开发且闭源的,仅适用于IE 这里就不讨论了,这种方式会给用户带来很大的安全风险。而且也不符合html5标准,现在已经被市场抛弃。 2 搜索挂接(URL SEARCHHOOK) 在window系统中,通过在注册表中&…

Unity-ML-Agents注意事项及报错、警告等解决方式

1.注意事项 1.1 ml-agents 0.28.0找不到Scripts/Brain组件? 在 ml-agents 0.16.0 版本中,Unity 中的 ML-Agents 插件中包含了名为 Brain 的组件,用于控制智能体的决策过程。然而,在 ml-agents 0.28.0 版本中,该组件已…

【16】SCI易中期刊推荐——计算机 | 人工智能领域(中科院2区)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨ 📚📚>>>人工智能 | 计算机视觉…

keepalived如何手动切换主备

概述 主备部署中使用keepalived可以很方便的实现&#xff0c;安装维护简单&#xff0c;功能稳定。 最近在使用过程中有小的发现&#xff0c;记录一下。 环境 CentOS Linux release 7.9.2009 (Core) keepalived.x86_64 1.3.5-19.el7 安装配置 centos7自带的keepalived版本…

Android Framework基础面试篇~

在Android应用开发面试中&#xff0c;针对Framework的问题是常被考察的。以下是一些常见的Framework金典面试题目及其详解&#xff1a; 1. 什么是Android应用生命周期&#xff1f;你能描述一下它包含哪几个阶段吗&#xff1f; Android应用生命周期指的是应用从启动到关闭的整…

SPSS如何进行因子分析和主成分分析之案例实训?

文章目录 0.引言1.因子分析2.主成分分析 0.引言 因科研等多场景需要进行数据统计分析&#xff0c;笔者对SPSS进行了学习&#xff0c;本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对因子分析和主成分分析进行阐述。 1.因…

OBCP题目及解析

1.关于OCP中的新建告警项&#xff0c;告警项的所属范围包括________&#xff1f;&#xff08;正确答案个数&#xff1a;2个&#xff09; A. OB告警 B. 操作系统告警 C. 应用告警 D. 服务器硬件告警 E. OBProxy告警 【答案】AC 【解析】如下图所示&#xff1a; 2.如果Oce…

魔兽服务端自定义创建技能教程

魔兽服务端自定义创建技能教程 大家好我是艾西,今天跟大家分享下魔兽自定义技能怎么创建 创建传送技能以下方参考数值模板操作 1.新建技能图标(slelllcon.dbc) ID: 5000 2.新建传送技能(Spell.dbc) 参考53140 ID name icon 90002 传送:南海岛礁 …

d需要类型表达式

原文 如果在BasicType->TypeCtor(Type)生产规则中把TypeCtor设为可选,则可改进D类型语法,并且有办法解决14年的问题2753,这里. 什么是式语法 与大多数语言一样,在D中,有个主式的概念,简单地说,它允许你在括号中放任意式,并再次为你提供式.没有它,甚至无法表达(ab)*c. 机制…

Linux基本指令【Linux操作系统】

本文将开启Linux操作系统学习新篇章&#xff0c;欢迎与博主一起交流学习。 目录 一、ls指令 二、pwd指令 三、mkdir与rm指令 四、cd指令 五、touch指令 六、man指令&#xff08;重要&#xff09; 七、cp指令&#xff08;重要&#xff09; 八、mv指令&#xff08;重要&…

嵌入式基础测试手册——基于NXP iMX6ULL开发板(4)

前 言 本文档适用开发环境: Windows开发环境:Windows 7 64bit、Windows 10 64bit 虚拟机:VMware15.1.0 Linux开发环境:Ubuntu18.04.4 64bit U-Boot:U-Boot-2020.04 Kernel:Linux-5.4.70 Linux SDK:5.4.70_2.3.0 基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP…

Flutter 如何将代码显示到界面上

前言 如何优雅的将项目中的代码&#xff0c;亦或是你的demo代码展示到界面上&#xff1f;本文对使用简单、便于维护且通用的解决方案&#xff0c;进行相关的对比和探究 为了节省大家的时间&#xff0c;把最终解决方案的相关接入和用法写在前面 预览代码 快速开始 接入&…

有人说ChatGPT信息不新?

Hello ,我是小索奇&#xff0c;今天给大家分享一个插件&#xff0c;这个插件可以通过抓取网页获得最新内容&#xff0c;它可以有效的避免ChatGPT信息过时&#xff0c;获取不到最新的信息等等 演示-这里问它一些问题&#xff1a; 现在几点了呀 可以看到时间也是很准确的&#x…

Android之人脸识别

随着科技的不断进步&#xff0c;人脸识别已经成为一项日益普及的应用技术。在移动设备领域中&#xff0c;Android系统中的人脸识别技术已经得到广泛应用。本文将从人脸识别的原理、应用场景以及在Android系统中的实现方式等方面&#xff0c;探讨Android之人脸识别。 一、人脸识…

【C++】 类练习---封装链表、人物移动

目录 前言 正文 结构体和类的区别 练习1&#xff1a;封装链表 用类封装链表的注意事项 定义一个链表的节点结构 链表类代码 主函数 运行结果 练习2&#xff1a;人物移动 说明 头文件以及宏 人物类 主函数 运行结果 结语 前言 在学完了【C】 类基础汇总&#x…

【Python】万能之王 Lambda 函数详解

Python 提供了非常多的库和内置函数。有不同的方法可以执行相同的任务&#xff0c;而在 Python 中&#xff0c;有个万能之王函数&#xff1a;lambda 函数&#xff0c;它可以以不同的方式在任何地方使用。今天云朵君将和大家一起研究下这个万能之王&#xff01; Lambda 函数简介…

ChatGPT狂飙之下 云计算加速键启动?

集微网消息&#xff0c;ChatGPT一夜爆火&#xff0c;成为AI届的“流量收割机”。有观点认为&#xff0c;ChatGPT不仅是AI的成功&#xff0c;也是云计算的成功。AIGC&#xff08;人工智能生成内容&#xff09;有望开启云计算产业链新一轮景气周期。 ChatGPT与云计算有何关联&am…
最新文章