算法题(13):异或变换

审题:

这题的数据量比较大,所以暴力解法肯定是过不了了,我们根据异或运算的性质来找找规律,不难发现他是有循环周期的。

最终我们的周期是一个不小于n的2的最小整数次幂。

疑问一:为什么会有循环?

1.因为这是一个有限集合,二进制的位数为n,那么它最多可能有2^n种样式

2.这是一个不会丢失信息的运算2,由于它每次都会是一个不重复的新数据

疑问二:周期是怎么求出来的?

思路:

(1)获取数据

n和t都是long long 类型,因为数据量很大

s串是string类型

(2)求出周期并求出需要枚举的次数

(3)反向进行运算

解题:

1.x<<=1的意思就是x*=2,就是x等于2倍x。因为二进制位都向左移动一位了

注意:

进行运算的时候之所以从后往前进行,是因为这样子不会导致进行运算的数据不是原二进制数。如果从前往后开始会导致进行运算的数被改变。

链接:[蓝桥杯 2021 国 ABC] 异或变换 - 洛谷

相关推荐
Felven20 小时前
C. Prefix Min and Suffix Max
算法
加农炮手Jinx20 小时前
LeetCode 26. Remove Duplicates from Sorted Array 题解
算法·leetcode·力扣
加农炮手Jinx20 小时前
LeetCode 88. Merge Sorted Array 题解
算法·leetcode·力扣
格林威20 小时前
线阵工业相机:如何计算线阵相机的行频(Line Rate)?公式+实例
开发语言·人工智能·数码相机·算法·计算机视觉·工业相机·线阵相机
yueyue54320 小时前
透过现象看本质:以fast_lio架构的整套算法的局部避障改为TEB算法为例深度探讨——如何成为一个合格的算法架构师?
算法·架构
梨花爱跨境20 小时前
红人视频×A10算法:亚马逊转化率与流量闭环实战
算法
阿Y加油吧20 小时前
二刷 LeetCode:75. 颜色分类 & 31. 下一个排列 复盘笔记
笔记·算法·leetcode
风筝在晴天搁浅20 小时前
LeetCode 378.有序矩阵中第K小的元素
算法·矩阵
qeen8720 小时前
【算法笔记】简单贪心
c++·笔记·算法·贪心算法
ting945200021 小时前
动手学深度学习(PyTorch版)深度详解(10): 优化算法 全解
人工智能·pytorch·深度学习·算法