結果

問題 No.1493 隣接xor
コンテスト
ユーザー ああ
提出日時 2026-05-17 22:46:13
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WA  
実行時間 -
コード長 549 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 302 ms
コンパイル使用メモリ 85,504 KB
実行使用メモリ 164,864 KB
最終ジャッジ日時 2026-05-17 22:46:20
合計ジャッジ時間 6,878 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

def aa(m):
    global mod
    while m>1:
        m//=2
        seg[m]=(seg[m*2]+seg[m*2+1])%mod
def bb(l,r):
    global mod
    res=0
    while l<r:
        if l&1:
            res+=seg[l];l+=1
        if r&1:
            r-=1;res+=seg[r]
        l//=2;r//=2
    res%=mod
    return res

n=int(input())
a=list(map(int,input().split()))
x=[0];mod=10**9+7
for i in a:
    x.append(x[-1]^i)
v=1<<len(x).bit_length()
seg=[0]*v*2
y={};seg[v]=1
for i in x:
    y[i]=0
for i in range(1,n):
    seg[i+v]=bb(y[x[i]]+v,i+v);aa(i+v)
    y[x[i]]=i
print(seg[1])
0