xor

给出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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,417评论 0 2
  • 爱情不仅使人获得最原始的自己 有时候爱情是一种谋杀 谋杀于我对你的沉溺里 可以随时像谈论天气一样谈论关于爱情的名言...
    王初情阅读 421评论 2 1
  • 我天蝎自然是不能同那些个星座是一样的(〃′o`)
    松松针阅读 195评论 2 2
  • 书籍《财富自由之路》 字数:696字 小时候听过的一个和尚挑水喝,两个和尚担水喝,三个和尚不行动所以没水喝。人在不...
    琉小恬阅读 246评论 0 0