1. Главная
  2. Библиотека
  3. Теория вероятностей
  4. Великое Граильское дерево стоит в королевстве уже 315 л...
Разбор задачи

Великое Граильское дерево стоит в королевстве уже 315 лет. Оно занимает очень много места, потому король Ила решил от него избавиться как можно скорее. Само дерево представляет из себя ацикличный, связный и неориентированный граф из n вершин, каждая из

  • Предмет: Теория вероятностей
  • Автор: Кэмп
  • #Дискретная математика
  • #Теория графов
Великое Граильское дерево стоит в королевстве уже 315 лет. Оно занимает очень много места, потому король Ила решил от него избавиться как можно скорее. Само дерево представляет из себя ацикличный, связный и неориентированный граф из n вершин, каждая из

Условие:

Великое Граильское дерево стоит в королевстве уже 315 лет. Оно занимает очень много места, потому король Ила решил от него избавиться как можно скорее. Само дерево представляет из себя ацикличный, связный и неориентированный граф из n вершин, каждая из которых имеет свое значение av. Избавляться от дерева возможно следующим образом:

Обозначим Sv как сумму значений всех оставшихся соседей v, если у v не осталось соседей, то Sv равна 0. Выберите вершину v, для которой av и Sv отличаются по четности (т.е. либо av четно и Sv нечетно, либо av нечетно и Sv четно). Если таких вершин нет, прекратите процесс.
Удалите вершину v и все ребра, соединенные с ней, из дерева.

Ваша задача — определить, существует ли последовательность удалений, которая приведет к полному удалению Граильского дерева (т.е. в дереве не останется вершин). Если ответ существует, выведите последовательность из n вершин в порядке их удаления. Если существует несколько ответов, выведите любой из них.
Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число t (1≤t≤104) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка содержит число n (1≤n≤2⋅105) — количество вершин в Граильском дереве.

Вторая строка описывает массив a (1≤ai≤109) — значения вершин в дереве.

Далее идет n−1 строка, в каждой из которых по 2 числа v и u (1≤v,u≤n,v≠u), обозначающие что вершины v и u связаны ребром в дереве.

Гарантируется, что сумма n по всем наборам входных данных не превышает 2⋅105.
Выходные данные

Для каждого набора входных данных выведите «YES», если возможно полностью удалить Граильское дерево. В противном случае выведите «NO». Если ответ это «YES», выведите любую последовательность удалений.

Решение:

Для решения данной задачи мы будем использовать свойства четности значений вершин и их соседей. Давайте разберем решение пошагово.

Шаг 1: Дано

  • Мы имеем несколько тестов, каждый из которых содержит:
    • Число вершин nn в дереве.
    • Массив значений aa, где a[i]a[i] — значение вершины ii.
    • n1n-1 рёбер, соединяющих вершины.

Шаг 2: Найти

  • Нужно определить, возможно ли удалить все вершины дерева, соблюдая описанные правила, и если да, то вывести последовательность удаления.

Шаг 3: Решение

  1. Четность и соседи:
    • Для каждой вершины vv вычисляем сумму значений всех её со...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое условие должно выполняться для вершины v, чтобы её можно было удалить из Граильского дерева?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет