实现基于大序列和异或运算的最有效方法

问题描述 投票:0回答:2

已获得以下输入:

  1. n其中n是序列的大小
  2. k是整数
  3. 一个序列A [0] A [1] A [2] ............ A [n-1]

我需要为从0到(k-1)的每个i执行]

   find a,b
   where a=A[i%n] and b=A[n-(i%n)-1]
   then set A[i%n]=a XOR b

并输出最终的序列空间分隔开

给定订单:-

 n<=10^4
 k<=10^12
 Ai<=10^7 for each i

我已经应用了幼稚的方法

n,k=map(int,input().split())
arr=list(map(int,input().split()))
for i in range(k):
    t=i%n
    arr[t]=arr[t]^arr[n-(t)-1]
for i in arr:
    print(i,end=" ")

但是它显示了超出大型测试用例的时间限制。

想要以上的有效实施建议

我已获得以下输入:n其中n是序列k的大小是整数a序列A [0] A [1] A [2] ............ A [n -1]我需要为从0到(k-1)的每个i执行一个a,b ...

python xor
2个回答
2
投票

我没有设置性能测试,但是您可能要尝试以下操作:


0
投票

**

© www.soinside.com 2019 - 2024. All rights reserved.