Logo
(追記) (追記ここまで)

28818번 - Случайное дерево 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB111100.000%

문제

Рассмотрим следующий процесс построения дерева $T$.

Изначально дерево состоит из одной вершины, которая имеет номер 1ドル$.

Дальше в дерево добавляются вершины с номерами 2ドル \ldots n$.

На $i$-м шаге в дерево добавляется вершина с номером $i+1,ドル также в дерево добавляется ребро из нее в некоторую уже добавленную вершину $p$ (1ドル \leq p \leq i$), которая выбирается среди них случайно равновероятно.

Пусть $V$ --- множество уже добавленных в $T$ вершин.

Тогда пусть $f(A)$ --- количество вершин $T,ドル что они лежат или в $A,ドル или на пути между какими-либо двумя вершинами из $A$ (возможно, и там, и там).

Ваша задача после добавления каждой вершины вывести сумму $f(A)$ по всем множествам $A,ドル которые являются подмножествами множества уже добавленных в $T$ вершин ($\sum{f(A)}$ по всем $A \subseteq V$). Так как ответы могут быть очень большим, выводите лишь остатки от деления ответа на 998244353ドル$.

입력

Первая строка входного файла содержит одно число $n$ --- количество вершин в дереве после последнего шага $(2 \leq n \leq 200000)$.

В следующей строке расположено $n-1$ целое число $p_1, p_2, \ldots, p_n$ (1ドル \leq p_i \leq i$), обозначающих добавления в граф вершины $i+1$ и ребра между $p_i$ и $i+1$ соответственно. Гарантируется, что $p_i$ выбрано случайно равновероятно среди чисел от 1ドル$ до $i$.

출력

Выведите $n-1$ целое число, остатки от деления ($\sum{f(A)}$ по всем $A \subseteq V$) на 998244353ドル$ после добавления каждой вершины.

제한

예제 입력 1

5
1 1 1 1

예제 출력 1

4 13 36 91

예제 입력 2

7
1 2 3 4 5 6

예제 출력 2

4 13 38 103 264 649

노트

Итоговые деревья из примеров:

출처

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2018-2019 Season > November 10, 2018 > Advanced I번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /