trang chủ / đề bài / pfxortrie

XOR đoạn con lớn nhất

Đề bài

Mô tả

Cho dãy số nguyên không âm a1,a2,…,an. Với mỗi cặp chỉ số (l,r) thoả 1≤l≤r≤n, ta định nghĩa giá trị của đoạn con [l,r] là

f(l,r)=al⊕al+1⊕⋯⊕ar,

trong đó ⊕ là phép XOR theo bit.

Hãy tìm giá trị lớn nhất của f(l,r) trên mọi cặp (l,r) hợp lệ.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

In ra một số nguyên duy nhất là giá trị XOR lớn nhất của một đoạn con liên tiếp.

Ràng buộc

  • 1≤n≤2·105
  • 0≤ai<230

Ví dụ

Input Output Giải thích
5
1 2 3 4 5
7 Đoạn [2,4] có XOR =2⊕3⊕4=5, đoạn [1,4] có XOR =1⊕2⊕3⊕4=4, đoạn [2,5] có XOR =2⊕3⊕4⊕5=0, còn đoạn [3,5] có XOR =3⊕4⊕5=2. Giá trị lớn nhất đạt được là 7 tại đoạn [3,4] (3⊕4=7).
1
13
13 Chỉ có một đoạn duy nhất [1,1] với giá trị 13.
4
0 0 0 0
0 Mọi đoạn đều có XOR bằng 0.

Ghi chú

Khi n=1, đáp án bằng a1 vì chỉ tồn tại đoạn [1,1]. Khi tất cả ai bằng 0, đáp án là 0. Hãy chú ý rằng đoạn [l,r] bắt buộc phải có l≤r (đoạn rỗng không hợp lệ).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0