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

异或和之和 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组

异或和之和

题目来源

第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组

原题链接

蓝桥杯 异或和之和 https://www.lanqiao.cn/problems/3507/learning/

问题描述

问题分析

要点1:异或运算

概念

异或(Exclusive OR,简称 XOR)是一种数学运算符,常用于逻辑运算与计算机中的位运算。当且仅当两个输入值不同时,异或运算输出为真(1),否则输出为假(0),即“同为 0,异为 1”。异或运算可以通过数学符号“⊕”表示, 具有交换律、结合律、恒等律等性质。
在编程语言中通常为 p^q。

通俗运算

一位运算:
1 ⊕ 1 = 0,0 ⊕ 0 = 0;
1 ⊕ 0 = 1,0 ⊕ 1 = 1;
1 ⊕ 1 ⊕ 1 =1,1 ⊕ 1 ⊕ 0 =0;
也就是说,奇数个1则结果为1,偶数个1则结果为0.

多位运算:
例如,计算 5 ⊕ 3 5\oplus3 53, 需要先转换成二进制,再对每一位取异或,输出二进制后再转换为十进制。
5 = 101 ,3 = 011,6=110
101 ⊕ 011 = 110 101\oplus011=110 101011=110
5 ⊕ 3 = 6 5 \oplus 3 = 6 53=6

要点2:异或前缀和

递推关系

s [ i ] s[i] s[i] 表示从第一个值到当前第i个值的所有异或和,
s [ i ] s[i] s[i] = a[1] ^ a[2] ^ a[3] ··· a[i-1] ^ a[i] 的异或和,
s [ i − 1 ] s[i-1] s[i1] = a[1] ^ a[2] ^ a[3] ··· a[i-1] 的异或和,
易得,s[i] = s[i-1] ^ a[i]

前缀和反推异或和

s [

相关文章:

  • STM32U575RIT6单片机(二)
  • Google Filament 渲染引擎(2)-Backend 核心类介绍
  • 麒麟系统上配置本地大模型交互界面Chatbox
  • MySQL -- 数据库基础
  • SpringBoot使用Logback日志框架与综合实例
  • 【Python】Python 3.11安装教程
  • 第三篇《RMAN 备份与恢复指南:保障数据库安全》(RMAN)
  • SIP 协议详解:原理、用途与应用场景
  • ES索引知识
  • WorkTool 技术解析:企业微信自动化办公的合规实现方案
  • 深入浅出 Elasticsearch 的 dense_vector 字段类型
  • 适合于金融系统开发者的书籍大全
  • STM32-Unix时间戳
  • 如何在自己的网站接入API接口获取数据?分步指南与实战示例
  • 【DNS系列】使用TCP传输
  • HTTP重定向原理+实现
  • 个人网站部署
  • redis 清理缓存
  • [数据结构]排序之希尔排序( 缩小增量排序 )
  • 《C语言中“输入魔法师”:scanf函数的奥秘与技巧》
  • 澎湃读报丨解放日报9个版聚焦:上海,加快建成具有全球影响力的科技创新高地
  • 临港迎来鸿蒙智行“尚界”整车及电池配套项目,首款车型今秋上市
  • 习近平就伊朗发生严重爆炸事件向伊朗总统佩泽希齐扬致慰问电
  • 西班牙遭遇史上最严重停电,已进入国家紧急状态
  • “上海-日喀则”直飞航线正式通航,将于5月1日开启首航
  • 四川落马厅官周海琦受审,1000多人接受警示教育