NC275631 嘤嘤不想求异或
讲真牛客这次的直播录屏讲得挺烂的(暴论),板书烂,表达烂...
求 的异或和
当然,求异或和本质上是求每一位的二进制值。
前置知识:
- 和十进制一样,二进制下最左边是高位,最右边是低位;
- 异或和计算中,偶数个
结果为,反之为 1。
循环周期推导
接下来推导为什么异或和的循环周期为
先从最基本的
001 (1)
010 (2)
011 (3)
100 (4)
注意到前两位的
再往下一个周期:
0100
0101 (1)
0110 (2)
0111 (3)
1000 (4)
将上个周期附加在下个周期的开头,由于前两位都是
也就是说,在
由右端点推出异或和
根据上面的规律,可以继续推导最后一个周期中的四个数与最终异或和的关系:
- 显然结果为 1
,第一位结果为 1,等价于当前数再加 1 ,此时各位 都是偶数个- 在 (3) 的情况下多写了一位,最终异或和就是当前数本身。
求 的异或和
已经知道异或和的值反映的是当前位上
- 奇+奇=偶
- 奇+偶=奇
- 偶+偶=偶
也就是
不难发现,令奇数为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具