JustCaptain kod-buduschego
835a3dbfdce6940e318778c5ce0353de47e5de32
Перейти к файлу
Код
kod-buduschego C++Дополнительные задачи4-senior07. Lomsat gelral.md
anc добавил допольнительные задачи b2eaa8d 3 недели назад
07. Lomsat gelral.md

07. Lomsat gelral#

🎯 Уровень 🔴 Senior
🔗 Источник Codeforces 600E — Lomsat gelral
📊 Сложность 2300
🏷️ Темы деревья, DSU on tree

📝 Условие#

У каждой вершины дерева есть цвет. Для каждой вершины найдите сумму цветов, которые встречаются в её поддереве максимальное число раз.

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

В первой строке число n (1 ≤ n ≤ 10⁵). Во второй — n чисел c_i (1 ≤ c_i ≤ n) — цвета вершин. Далее n − 1 строк — рёбра дерева. Корень — вершина 1.

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

n чисел через пробел — сумма доминирующих цветов для каждой вершины.

🧪 Тесты#

Тест 1#

Ввод:

4
1 2 3 4
1 2
2 3
2 4

Вывод:

10 9 3 4

Тест 2#

Ввод:

15
1 2 3 1 2 3 3 1 1 3 2 2 1 2 3
1 2
1 3
1 4
1 14
1 15
2 5
2 6
2 7
3 8
3 9
3 10
4 11
4 12
4 13

Вывод:

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

Заметка

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

💡 Подсказка#

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

Small-to-large слияние или DSU on tree (sack).


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