「Codeforces 1747D」Yet Another Problem - 构造 + 二分
题意描述
你有一个长度为 \(n (1 \le n \le 2 \times 10^5)\) 的整数序列 \(a\)。
你需要回答 \(q (1 \le q \le 2 \times 10^5)\) 个独立的问题,每次询问如下:
给定 \(l\) 和 \(r\),你可以对序列做若干次操作(也可以不做),每次操作,你需要选择两个数 \(L\) 与 \(R\),其中必须满足 \(l\le L\le R\le r\) 且 \(R-L+1\) 为奇数。然后将 \(a_L\sim a_R\) 的所有数改为 \(a_L\sim a_R\) 的异或和,即 \(a_L\oplus a_{L+1}\oplus \sim \oplus a_R\)。
你的目标是将 \(a_l\sim a_r\) 的所有数变为 \(0\)。每次询问完后,序列复原。
询问的答案即为最小操作数。如果总是不能达到目标,则答案为 \(-1\)。