From 19d7f0dc5f004f9b18ed530551e2f335306f1e57 Mon Sep 17 00:00:00 2001 From: oncsr Date: Tue, 11 Feb 2025 15:47:44 +0900 Subject: [PATCH] =?UTF-8?q?[20250211]=20BOJ=20/=20=ED=94=8C=EB=9E=983=20/?= =?UTF-8?q?=20XOR=20=ED=95=A9=20/=20=EA=B6=8C=ED=98=81=EC=A4=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../202502/11 BOJ P3 XOR \355\225\251.md" | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 "khj20006/202502/11 BOJ P3 XOR \355\225\251.md" diff --git "a/khj20006/202502/11 BOJ P3 XOR \355\225\251.md" "b/khj20006/202502/11 BOJ P3 XOR \355\225\251.md" new file mode 100644 index 00000000..6cbdbebe --- /dev/null +++ "b/khj20006/202502/11 BOJ P3 XOR \355\225\251.md" @@ -0,0 +1,113 @@ +```java + +import java.util.*; +import java.io.*; + +class Node{ + int d; + Node l, r; + Node(int d){this.d = d;} +} + +class Trie{ + Node root; + Trie(){root = new Node(31);} + void insert(int x) { + Node now = root; + for(int i=30;i>=0;i--) { + int bit = x & (1<=0;i--) { + int bit = x & (1< 0) { + trie = new Trie(); + + N = Integer.parseInt(br.readLine()); + S = new int[N+1]; + + nextLine(); + for(int i=1;i<=N;i++) { + S[i] = nextInt(); + S[i] ^= S[i-1]; + } + solve(); + } + + } + + static void solve() throws Exception{ + + for(int i=1;i<=N;i++) trie.insert(S[i]); + + int ans = 0; + for(int i=0;i