eolymp
bolt
Try our new interface for solving problems
Məsələlər

Из XOR с любовью

Из XOR с любовью

Снова XOR, снова запросы, снова дерево --- романтика (с) Ануар Сериков Где XOR нет места словам. Итак, давайте двигаться дальше к задаче. Для корневого дерева с $n$ вершинами все вершины пронумерованы от $1$ до $n$. На каждой вершине дерева написано одно число --- значение вершины. Корнем дерева является вершина $1$. В этой задаче Вам следует обработать $q$ запросов. Запросы бывают двух типов: \begin{itemize} \item $1~v~x$ --- замените все числа, записанные в вершинах поддерева вершины $v$. То есть если в какой-то вершине записано число $y$, то следует заменить его на $x\oplus y$. \item $2~u~v$ --- выведите минимум чисел, записанных на вершинах простого пути из вершины $u$ в вершину $v$. Или более формально: пусть числа на пути из вершины $u$ в вершину $v$ будут {$a_1, a_2, ... , a_k$}, тогда ответом на этот запрос будет минимум этой последовательности. \end{itemize} \InputFile Первая строка содержит два целых числа $n~(1 \le n \le 3*10^4)$ --- количество вершин в дереве, и $q$ $(1 \le q \le 3*10^ 4)$ --- количество запросов. Вторая строка содержит последовательность из $n$ целых чисел $a_1, a_2, \dots , a_n~(0 \le a_i < 2^{20})$ --- числа, написанные на вершинах. Затем следуют $n - 1$ строка, описывающие ребра дерева. Каждая строка содержит пару целых чисел $x_i, y_i~(1 \leq x_i,y_i \leq n, x_i \ne y_i)$ --- вершины, соединенные ребром. Гарантируется, что граф является связным деревом. Последние $q$ строк описывают запросы. Первое число в $i$-й строке $type_i$ --- тип $i$-го запроса. Если $type_i = 1$, то следуют два целых числа $v_i$ и $x_i~(1 \le v_i \le n$, $0 \le x_i < 2^{20})$, иначе следует два целых числа $ u_i$ и $v_i~(1 \le u_i, v_i \le n)$. Все входные числа являются целыми. \OutputFile Для каждого запроса 2-го типа выведите в отдельной строке одно целое число --- ответ на запрос. \Examples $\oplus$ --- исключающее OR, например $3\oplus 5 = 6$.
Zaman məhdudiyyəti 2 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
5 5
1 2 3 4 5
1 2
1 3
2 4
2 5
2 4 5
1 1 7
2 4 3
1 3 4
2 4 1
Çıxış verilənləri #1
2
3
3