Codeforces Round 943 (Div. 3) |
---|
Закончено |
Давайте назовем массив $$$x_1,\dots,x_m$$$ интересным, если возможно разделить массив на $$$k>1$$$ частей так, чтобы побитовое исключающее ИЛИ(XOR) значений из каждой части было равно.
Формально, вам нужно разделить массив $$$x$$$ на $$$k$$$ последовательных отрезков, причем каждый элемент $$$x$$$ должен принадлежать ровно $$$1$$$ отрезку. Пусть XOR элементов из каждой части равны $$$y_1,\dots,y_k$$$, соответственно. Тогда должно выполняться условие $$$y_1=y_2=\dots=y_k$$$.
Например, если $$$x = [1, 1, 2, 3, 0]$$$, вы можете разделить его следующим образом: $$$[\color{blue}1], [\color{green}1], [\color{red}2, \color{red}3, \color{red}0]$$$. Действительно, $$$\color{blue}1=\color{green}1=\color{red}2 \oplus \color{red}3\oplus \color{red}0$$$.
Вам дан массив $$$a_1,\dots,a_n$$$. Ваша задача — ответить на $$$q$$$ запросов:
Первая строка содержит одно целое число $$$t$$$ ($$$1\le t\le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора содержит два целых числа $$$n$$$ и $$$q$$$ ($$$2 \le n \le 2 \cdot 10^5$$$, $$$1 \le q \le 2 \cdot 10^5$$$) — количество элементов в массиве и количество запросов соответственно.
Следующая строка содержит $$$n$$$ целых чисел $$$a_1,\dots,a_n$$$ ($$$0 \le a_i < 2^{30}$$$) — элементы массива.
Следующие $$$q$$$ строк содержат по два целых числа $$$l$$$ и $$$r$$$ ($$$1 \le l < r \le n$$$) описывающие запрос.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Гарантируется, что сумма $$$q$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого запроса выведите «YES», если подмассив интересный, и «NO» в противном случае.
Вы можете выводить «Yes» и «No» в любом регистре (например, строки «yES», «yes» и «Yes» будут распознаны как правильные ответы).
45 51 1 2 3 01 52 43 51 33 45 51 2 3 4 51 52 43 51 32 37 412 9 10 9 10 11 91 51 72 62 711 40 0 1 0 0 1 0 1 1 0 11 22 56 97 11
YES YES NO NO NO YES NO NO YES NO NO NO NO NO YES NO YES YES
Объяснение для первого примера:
Первый запрос описан в условии.
Во втором запросе мы должны разделить $$$[1,2,3]$$$. Возможное разделение — $$$[1,2],[3]$$$, так как $$$1\oplus 2=3$$$.
Можно показать, что для запросов $$$3,4,5$$$ подмассивы не интересны.
Название |
---|