Xor 特殊情况_题解

【题解提供者】吴立强

解法

思路

注意到对于单次的查询区间 l , r l,r l,r,可以通过前缀异或和拆分为两个新的区间查询: 0 , l − 1 , 0 , r 0, l-1, 0,r 0,l−1,0,r。

对于任意区间 0 , R 0,R 0,R 可以找到最大的 x x x( x ≤ R x \le R x≤R 且 x m o d    4 = 0 x\mod 4 = 0 xmod4=0), 0 , R 0,R 0,R 的异或和等价于 x , R x,R x,R 的异或和。(根据上一题题解中的【拓展】可以求证此结论)

代码展示

cpp 复制代码
#include <iostream>
using namespace std;

int get(int x) {
    if(x < 0) return 0;
    int ans = 0;
    for(int i = x / 4 * 4; i <= x; i ++) ans ^= i;
    return ans;
}
int main() {
    int t;  cin >> t;
    while(t --) {
        int l, r;  cin >> l >> r;
        cout << (get(l - 1) ^ get(r)) << endl;
    }
    return 0;
}

算法分析

程序时间复杂度为 O ( t ) O(t) O(t)。

相关推荐
weixin_3077791311 小时前
从“人操作仪器”到“Agent 自主发现”:OPL 金属材料自驱动实验室 MVP 技术论述
开发语言·人工智能·算法·架构
释厄62311 小时前
01AB 基本元理——任何智能体的三元法理·0=1→0≠1法理跃迁为天理
人工智能·windows·算法·microsoft·机器学习
Omics Pro11 小时前
经典多组学整合算法→商用云平台
数据库·人工智能·算法·机器学习·自然语言处理
ting945200011 小时前
深度拆解|1752vc Pitch Deck Analyzer 底层技术架构与核心算法原理
人工智能·算法·架构
贾斯汀frank11 小时前
基于 Java + Playwright 实现网站自动访问与数据采集
算法
早睡早起不秃头&12 小时前
【架构】- 移动机器人系统的插件化:让定位算法独立演进
算法·架构
mmmmath_312 小时前
LeetCode.020.有效的括号
数据结构·算法·leetcode
Doubbbbbbble云12 小时前
算法优化中的数学建模与理论界限分析4
算法·数学建模
垆边人似月.12 小时前
华为机考题:字符个数统计
数据结构·算法·华为
en.en..13 小时前
Linux 进程退出exit(函数)
java·开发语言·算法