D 子段異或

2021-10-02 18:18:27 字數 725 閱讀 9194

輸入乙個數列a,你需要輸出其中異或值為0的不同子段的數量。乙個子段 [l,r] (1 \le l \le r \le n1≤l≤r≤n)的異或值為a_l \oplus a_ \oplus a_ \oplus \ldots\oplus a_ral​⊕al+1​⊕al+2​⊕…⊕ar​,其中\oplus⊕符號代表異或運算。

兩個子段被視為相同的,當且僅當其開始和結束位置均對應相同。

第一行乙個整數 n ,代表數列長度。

第二行 n 個整數,代表數列。

輸出乙個整數,代表答案。
示例1

複製

5

1 2 3 2 1

複製

2
子段 [1,3] 和子段 [3,5] 是合法子段。
n \le 200000, 0 \le a_i \le 2^-1n≤200000,0≤ai​≤230−1
**:

#includeusing namespace std;

long long n,k,ans,s;

long long a[1000001],b[1000001];

mapm;

int main()

else

}cout<}

子段異或(異或字首和)

傳送門 第一行乙個整數 n 代表數列長度。第二行 n 個整數,代表數列。輸出乙個整數,代表答案。示例1 複製5 1 2 3 2 1 複製 2 子段 1,3 和子段 3,5 是合法子段。首先你得知道乙個知識點就是 如果sum i 為陣列a的前i項的異或和,就是說sum i a 1 a 2 a 3 a ...

牛客寒假訓練營4 D 子段異或

題目描述 輸入乙個數列a,你需要輸出其中異或值為0的不同子段的數量。乙個子段 l,r 1 l r n1 le l le r le n1 l r n 的異或值為al al 1 al 2 ara l oplus a oplus a oplus ldots oplus a ral al 1 al 2 ar...

異或 異或相關

感謝 morning glory 贊助 異或異 或 de scri ptio ndes crip tion 給定 l,r l,r,求 i lr j lr i ji l r j l r i jl,r 1 09l,r 1 09 s olut ions olut ion 假設l 1,r 4l 1,r 4,...