算法题(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 异或变换 - 洛谷

相关推荐
weixin199701080161 分钟前
[特殊字符]《京东POP二手品类对接:B2C订单模型 vs 二手C2C属性的字段转换难题》(附Python源码)
前端·python·算法
Jared_devin1 小时前
单头、多头 Self-Attention可视化
人工智能·pytorch·深度学习·算法·机器学习·pycharm
wuyk5551 小时前
18.Kruskal 算法:用最短的边连成一张网
开发语言·算法·图论
pen-ai2 小时前
【优化方法】最小二乘:从误差平方到线性与非线性拟合
人工智能·算法·机器学习
Q26433650233 小时前
【有源码】基于机器学习的电信网络诈骗话术语义识别与可视化分析系统 XGBoost算法+Hadoop+Spark
大数据·hadoop·算法·机器学习·spark·毕业设计·课程设计
不会就选b3 小时前
算法日常・每日刷题--贪心<11>
算法·leetcode·职场和发展
千里码aicood3 小时前
面向电商冷启动与数据稀疏性的协同过滤算法优化研究
大数据·算法·协同过滤
xxxiugou1233 小时前
双指针解题秘籍:从入门到精通
c语言·数据结构·c++·算法
能源革命3 小时前
TimesFM(Time Series Foundation Model)介绍
算法·能源
猎嘤一号3 小时前
学术训练(一)文献检索与阅读
人工智能·算法·机器学习·科研入门