02. Ксения и битовые операции#
| 🎯 Уровень | 🔴 Senior |
| 🔗 Источник | Codeforces 339D — Xenia and Bit Operations |
| 📊 Сложность | 1700 |
| 🏷️ Темы | дерево отрезков |
📝 Условие#
Массив из 2ⁿ чисел сворачивается по уровням: соседние пары объединяются через OR, на следующем уровне через XOR и т.д. После каждого изменения элемента выведите итоговое значение.
📥 Входные данные#
В первой строке два числа n и m (1 ≤ n ≤ 17, 1 ≤ m ≤ 10⁵). Во второй — 2ⁿ чисел a_i (0 ≤ a_i < 2³⁰). Далее m строк p b — присвоить a_p = b.
📤 Выходные данные#
m строк — значение v после каждого запроса.
🧪 Тесты#
Тест 1#
Ввод:
2 4
1 6 3 5
1 4
3 4
1 2
1 2
Вывод:
1
3
3
3
Тест 2#
Ввод:
1 2
5 3
1 0
2 7
Вывод:
3
7
Заметка
Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.
💡 Подсказка#
Открыть, если застрял(а) больше чем на 20 минут
Дерево отрезков, операция зависит от глубины.