1. Главная
  2. Библиотека
  3. Теория вероятностей
  4. Поликарпу на Новый Год подарили корневое дерево, где у...
Разбор задачи

Поликарпу на Новый Год подарили корневое дерево, где у каждой вершины есть своя буква. А ещё у Поликарпа есть любимое слово . Страйк - это некоторый путь вниз по дереву (все рёбра в нём ведут от корня к листьям) такой, что в i-й вершине пути стоит буква

  • Предмет: Теория вероятностей
  • Автор: Кэмп
  • #Теория вероятностей и математическая статистика
  • #Случайные процессы
Поликарпу на Новый Год подарили корневое дерево, где у каждой вершины есть своя буква. А ещё у Поликарпа есть любимое слово . Страйк - это некоторый путь вниз по дереву (все рёбра в нём ведут от корня к листьям) такой, что в i-й вершине пути стоит буква

Условие:

Поликарпу на Новый Год подарили корневое дерево, где у каждой вершины есть своя буква. А ещё у Поликарпа есть любимое слово $s$. Страйк - это некоторый путь вниз по дереву (все рёбра в нём ведут от корня к листьям) такой, что в i-й вершине пути стоит буква s[i%len(s)]. Будем называть красотой вершины дерева максимальную длину страйка, который заканчивается в этой вершине. Помогите Поликарпу определить красоту каждой вершины в подаренном дереве.

Формат ввода
В первой строке дана строка $s$ ($1 \le |s| \le 10^4$).

Во второй строке дано число $N$ ($1 \le N \le 10^5$) - количество вершин в корневом дереве.

Далее в $N$ строках даны описания вершин дерева. В $i$-й ($0 \le i \le N-1$) строке дана буква $c_i$ и предок вершины в дереве $p_i$ ($0 \le p_i \le N-1$).

Вершина, у которой предок $p_i$ равен -1, является корнем дерева.

Все строки и буквы на вершинах состоят только из строчных букв латинского алфавита.

Формат вывода
В единственной строке через пробел выведите $N$ чисел - значение красоты для $i$-й вершины для $i$ от $0$ до $N-1$

Решение:

Для решения задачи о "красоте" вершин дерева, нам нужно определить максимальную длину страйка для каждой вершины. Страйк — это путь от корня дерева к данной вершине, где буквы на вершинах соответствуют символам строки ss по определенному правилу. Давайте разберем решение пошагово.

Шаг 1: Понимание входных данных

  1. Строка ss — любимое слово Поликарпа, длина которого может достигать 10410^4.
  2. Количество вершин NN — количество вершин в дереве, которое может быть до 10510^5.
  3. Описание вершин — каждая вершина имеет букву и ссылку на родительскую вершину. Вершина с родителем...

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

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

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

Какое правило определяет соответствие буквы в вершине дерева символу из строки $s$ для формирования страйка?

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

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

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

Топ 3 ошибок

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

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