xor

作者: GoDeep | 来源:发表于2018-08-20 17:31 被阅读0次

给出n个数字 a_1,...,a_n,问最多有多少不重叠的非空区间,使得每个区间内数字的xor都等于0。
输入描述:
第一行一个整数n; 第二行n个整数 a_1,...,a_n; 对于30%的数据,n<=20; 对于100%的数据,n<=100000, a_i<=100000;

输出描述:
一个整数表示最多的区间个数;

输入例子1:
4
3 0 2 2

输出例子1:
2

n=int(input())
a=list(map(int,input().strip().split(' ')))
res=i=0
while i<len(a):
    s=set()
    s.add(0)
    j=i
    t=0
    while j<len(a):
        t=t^a[j]
        if t in s:
            res+=1
            break
        s.add(t)
        j+=1
    i=j+1 
    
print(res)

相关文章

网友评论

      本文标题:xor

      本文链接:https://www.haomeiwen.com/subject/aqwliftx.html