很简单的一道dp加异或性质的题。
比如一个长度为4的序列,数字的索引分别是0, 1, 2, 3,那么可以先把从初始位置到所有位置的异或求出来,若要求某个区间,比如[1, 2]区间的异或时,直接用dp[2] xor dp[0]即可,也就是dp[r] xor dp[l-1]。
class Solution:
def xorQueries(self, arr: List[int], queries: List[List[int]]) -> List[int]:
dp = [arr[0]]
l = len(arr)
for i in range(1, l):
dp.append(dp[-1]^arr[i])
res = []
for l, r in queries:
if l == 0:
res.append(dp[r])
else:
res.append(dp[r]^dp[l-1])
return res
科研真的是一个磨性子的事情。想了好多想法,做了实验基本都凉凉了,又不甘于灌水。急性子的我,燥气都快被磨没了。毕竟科研这种事情属于摸着石头过河,急是没有用的。只能继续每天看论文,做实验,现在觉得周六日休息都有一种愧疚感,越看arxiv越觉得论文多,而且每天都有大组的论文,这和之前实习的时候,一到周末就可以休息的感觉太不一样了。科研真的比上班累多了。看书,书上说少年人要戒燥气,老年人要戒惰气,这段经历怕不是强行戒了我的燥气。有时候想想,当个废物挺好的,为什么要这么要强呢,hai,没办法,可能这就是性格决定的吧。我这么要强的人,怎么可能真的让自己闲下来呢。
求诸天神佛保佑我早日发出论文,顺利毕业。