相关疑难解决方法(0)

最大XOR值比仅使用XOR更快

给定一个数字N和一个整数数组(所有nos小于2 ^ 15).(A是数组100000的大小)
查找N的最大XOR值和数组中的整数.

Q不是查询(50000)并且start,stop是数组中的范围.

输入:
AQ
a1 a2 a3 ...
N开始停止

输出:
N的最大XOR值和指定范围的数组中的整数.

例如:输入
15 2(2不是查询)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
10 6 10(查询1)
10 6 10(查询2)

输出:
13
13

代码:

for(int i=start-1;i<stop;i++){
int t =no[i]^a;
if(maxxor<t)
     maxxor=t;
}
cout << maxxor <<endl;
Run Code Online (Sandbox Code Playgroud)

我需要比这快10-100倍的算法.排序太贵了.我也尝试过二叉树,位操作.

2x - 3x的改进怎么样?这是可能的优化.

algorithm xor

3
推荐指数
1
解决办法
4686
查看次数

标签 统计

algorithm ×1

xor ×1