QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 512 MB 總分: 100

#13452. Большая рыба пьет воду

统计

Автор задачи ленив, поэтому он не стал писать длинное вступление.

Вы — большая рыба. Поскольку вы находитесь в гармонии с водой, вы очень быстро плаваете, поэтому каждый день вы носитесь туда-сюда.

Однажды вы проснулись и обнаружили, что находитесь в лабиринте, состоящем из нескольких комнат и водных каналов. Вы легко получили карту этого лабиринта:

Вы обнаружили, что этот лабиринт можно представить в виде неориентированного связного графа, в котором нет кратных ребер и петель, и каждое ребро принадлежит не более чем одному простому циклу. Комнаты можно рассматривать как вершины, пронумерованные от $1$ до $n$, а каналы — как ребра, напрямую соединяющие две комнаты.

Пути в лабиринте сложны и запутаны, но вы сразу поняли карту. Хотя вы знаете, как выбраться, вам нужно выполнить свою почетную миссию — «гриндить», поэтому выход из лабиринта придется отложить. Вы обнаружили, что во время «гринда» трудно следить за дорогой, поэтому вы решили бегать хаотично, то есть совершать случайное блуждание.

Формально говоря, вы будете с равной вероятностью выбирать один из всех каналов, выходящих из текущей комнаты, и бежать по нему до другого конца (во время бега вы все время остаетесь в этом канале).

Вы знаете, что совсем не любите «гриндить», и верите в свою удачу, поэтому переложили бремя выхода из лабиринта на волю случая, а себе оставили цель — пройти $151$ задачу.

Однако вы не знаете, в какой комнате находитесь изначально. Поэтому вы хотите узнать для каждой комнаты: если вы начнете путь оттуда, каково математическое ожидание количества пройденных каналов до момента достижения выхода.

Разумеется, по традиции, мы должны вычислить это ожидание по модулю $998244353$. Можно доказать, что ответ всегда можно представить в виде рационального числа $\frac{a}{b}$, вам нужно лишь вывести $a \times b^{-1} \pmod{998244353}$.

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

В первой строке содержатся три целых положительных числа $n, m, C$, обозначающие количество комнат, количество каналов и количество выходов соответственно.

Во второй строке содержатся $C$ целых положительных чисел $c_i$, обозначающих номера выходов. Гарантируется, что все номера различны и каждый номер соответствует существующей комнате.

Далее следуют $m$ строк, в каждой из которых записаны два целых положительных числа $u_i, v_i$, обозначающих канал.

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

Выведите $n$ строк, в каждой из которых содержится неотрицательное целое число в диапазоне $[0, 998244353)$, представляющее ожидаемое количество пройденных каналов при старте из комнаты с номером $i$.

Примеры

Пример 1

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

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

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

0
13
15
15
15
15

Пример 2

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

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

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

7
499122181
0
499122184
499122186
499122186

Пример 3

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

20 24 3
15 20 10
17 13
13 20
20 17
2 20
13 9
9 19
19 13
17 4
4 3
3 17
13 1
1 7
7 13
15 1
8 20
16 4
18 9
4 6
6 5
5 4
11 13
10 3
12 7
14 9

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

873463818
1
873463818
499122191
499122193
499122193
499122189
1
790276796
0
124780557
499122190
124780556
790276797
0
499122192
124780554
790276797
457528677
0

Подзадачи

По некоторым причинам данные в этой задаче сгенерированы методом, похожим на случайное соединение каждой вершины с вершиной, имеющей меньший номер. Такие данные достаточно случайны, и в значительной степени можно игнорировать случай вычисления обратного элемента к $0$ в процессе решения.

Для всех данных выполняются условия: $2 \leq n \leq 10^5, 1 \leq m \leq 1.5 \times 10^5, 1 \leq C \leq n$.

Для $5\%$ баллов $n \leq 300$.

Для других $5\%$ баллов гарантируется, что граф является деревом.

Для других $10\%$ баллов гарантируется, что на каждом цикле графа есть хотя бы один выход.

Для других $40\%$ баллов гарантируется, что $m = n$.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.