JustCaptain kod-buduschego
e44b3dcaea03c3c3b4fbebcb5af2325d40ae8b10
Перейти к файлу
Код
kod-buduschego C++Дополнительные задачи4-senior06. Ксения и дерево.md
anc добавил допольнительные задачи b2eaa8d 3 недели назад
06. Ксения и дерево.md

06. Ксения и дерево#

🎯 Уровень 🔴 Senior
🔗 Источник Codeforces 342E — Xenia and Tree
📊 Сложность 2400
🏷️ Темы деревья, центроидная декомпозиция

📝 Условие#

В дереве изначально красная только вершина 1. Запросы: покрасить вершину в красный; найти расстояние от вершины до ближайшей красной.

📥 Входные данные#

В первой строке два числа n и m (2 ≤ n ≤ 10⁵, 1 ≤ m ≤ 10⁵). Далее n − 1 строк — рёбра дерева. Далее m строк t v: t = 1 — покрасить вершину v в красный, t = 2 — запрос расстояния от v до ближайшей красной. Изначально красная только вершина 1.

📤 Выходные данные#

Для каждого запроса типа 2 — ответ на отдельной строке.

🧪 Тесты#

Тест 1#

Ввод:

5 4
1 2
2 3
2 4
4 5
2 1
2 5
1 2
2 5

Вывод:

0
3
2

Тест 2#

Ввод:

3 3
1 2
2 3
2 3
1 3
2 2

Вывод:

2
1

Заметка

Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.

💡 Подсказка#

Открыть, если застрял(а) больше чем на 20 минут

Центроидная декомпозиция или sqrt-декомпозиция по запросам.


⬅️ К списку задач уровня