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

算法日记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.kler.cn/a/510737.html

相关文章:

  • 信息奥赛一本通 1168:大整数加法
  • UDP 单播、多播、广播:原理、实践
  • 如何设置HTTPS站点防御?
  • 考研计算机组成原理——零基础学习的笔记
  • 二进制/源码编译安装mysql 8.0
  • HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (四、最近上映电影滚动展示及加载更多的实现)
  • Hugging Face功能介绍,及在线体验文生图模型Flux
  • 202509读书笔记|《飞花令·山》——两岸猿声啼不住,轻舟已过万重山
  • Solidity04 Solidity值类型
  • LLMs之Dataset:中文互联网基础语料2.0的简介、下载和使用方法、案例应用之详细攻略
  • 【2024年华为OD机试】 (B卷,100分)- 字符串分割(Java JS PythonC/C++)
  • 【服务器】Ubuntu22.04配置静态ip
  • 【论文阅读】End-to-End Adversarial-Attention Network for Multi-Modal Clustering
  • 第13章:Python TDD完善货币加法运算(二)
  • 【MyDB】3-DataManager数据管理 之 4-数据页缓存
  • 综述:大语言模型在机器人导航中的最新进展!
  • 【机器学习】机器学习引领数学难题攻克:迈向未知数学领域的新突破
  • YOLOv9改进,YOLOv9检测头融合,适合目标检测、分割任务
  • 第6章:Python TDD实例变量私有化探索
  • 推荐一个开源的轻量级任务调度器!TaskScheduler!
  • 基于单片机的智能家居控制系统设计及应用
  • 利用R计算一般配合力(GCA)和特殊配合力(SCA)
  • Go Map 源码分析(一)
  • Windows蓝牙驱动开发-蓝牙 IOCTL
  • “AI 辅助决策系统:决策路上的智慧领航员
  • epoll函数为何是高效率的