当前位置: 首页 > news >正文

算法日记6.StarryCoding P52:我们都需要0(异或)

一、题目

在这里插入图片描述

二、题解:

  • 1、对于这道题,题意为让我们寻找一个数x使得

b[i]=a[i]^x, 并且b[1]^b[2]^b[3]^ b[4]^b[5]....=0

在这里插入图片描述

  • 2、我们把b[i]给拆开,可以得到

在这里插入图片描述

3、又因为^满足结合律,因此,可以把括号给拆开

在这里插入图片描述

4、接着,因为x^x==0,所以原式可以化简为:(题目中有提到x为奇数个)

在这里插入图片描述

5、因为0^x==x,所以可以对等号两边同时求异或^

在这里插入图片描述

因此,我们可以发现所需要求的x即是所有的a[i]同时取异或

三、完整代码如下:

#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const int N = 2e5+7; // 定义最大范围
int a[N];void solve()
{int res = 0;    //用来存储答案int n; cin >> n;for (int i = 1; i <= n; i++)   cin >> a[i];for (int i = 1; i <= n; i++){res ^= a[i];}cout << res << '\n';
}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int _ = 1; cin >> _;while (_--) solve();system("pause");return 0;
}
http://www.lryc.cn/news/523580.html

相关文章:

  • 【网络协议】RFC3164-The BSD syslog Protocol
  • SpringCloud -根据服务名获取服务运行实例并进行负载均衡
  • CentOS 安装Redis
  • Linux网络 TCP socket
  • (一)相机标定——四大坐标系的介绍、对应转换、畸变原理以及OpenCV完整代码实战(C++版)
  • 【Linux网络编程】高效I/O--I/O的五种类型
  • 企业级NoSQL数据库Redis
  • Vscode:问题解决办法 及 Tips 总结
  • 二十三种设计模式-装饰器模式
  • 架构思考与实践:从通用到场景的转变
  • Spring MVC(一)
  • vue3使用tsx渲染复杂逻辑的表单
  • python助力WRF自动化运行
  • Windows 下 Postgres 安装 TimescaleDB 插件
  • 【Vim Masterclass 笔记21】S09L39:Vim 设置与 vimrc 文件的用法示例(二)
  • 【Docker】Supervisor 实现单容器运行多服务进程
  • 【网络协议】【http】【https】ECDHE-TLS1.2
  • (十五)WebGL中gl.texImage2D函数使用详解
  • CSS 颜色
  • C#,入门教程(03)——Visual Studio 2022编写彩色Hello World与动画效果
  • 杀死安装 CentOS-7-x86_64-DVD-1908
  • 55.【5】BUUCTF WEB NCTF2019 sqli
  • LeetCode 题目 2545. 根据第 K 场考试的分数排序
  • 算法随笔_12:最短无序子数组
  • 计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计
  • Linux-C/C++--初探linux应用编程概念
  • 用sklearn运行分类模型,选择AUC最高的模型保存模型权重并绘制AUCROC曲线(以逻辑回归、随机森林、梯度提升、MLP为例)
  • 动手学大数据-3社区开源实践
  • 使用Pydantic驾驭大模型
  • 【HarmonyOS之旅】基于ArkTS开发(二) -> UI开发之常见布局