CF1823F.Random Walk

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a tree consisting of nn vertices and n1n - 1 edges, and each vertex vv has a counter c(v)c(v) assigned to it.

Initially, there is a chip placed at vertex ss and all counters, except c(s)c(s) , are set to 00 ; c(s)c(s) is set to 11 .

Your goal is to place the chip at vertex tt . You can achieve it by a series of moves. Suppose right now the chip is placed at the vertex vv . In one move, you do the following:

  1. choose one of neighbors toto of vertex vv uniformly at random ( toto is neighbor of vv if and only if there is an edge {v,to}\{v, to\} in the tree);
  2. move the chip to vertex toto and increase c(to)c(to) by 11 ;

You'll repeat the move above until you reach the vertex tt .

For each vertex vv calculate the expected value of c(v)c(v) modulo 998244353998\,244\,353 .

输入格式

The first line contains three integers nn , ss and tt ( 2n21052 \le n \le 2 \cdot 10^5 ; 1s,tn1 \le s, t \le n ; sts \neq t ) — number of vertices in the tree and the starting and finishing vertices.

Next n1n - 1 lines contain edges of the tree: one edge per line. The ii -th line contains two integers uiu_i and viv_i ( 1ui,vin1 \le u_i, v_i \le n ; uiviu_i \neq v_i ), denoting the edge between the nodes uiu_i and viv_i .

It's guaranteed that the given edges form a tree.

输出格式

Print nn numbers: expected values of c(v)c(v) modulo 998244353998\,244\,353 for each vv from 11 to nn .

Formally, let M=998244353M = 998\,244\,353 . It can be shown that the answer can be expressed as an irreducible fraction pq\frac{p}{q} , where pp and qq are integers and q≢0(modM)q \not \equiv 0 \pmod{M} . Output the integer equal to pq1modMp \cdot q^{-1} \bmod M . In other words, output such an integer xx that 0x<M0 \le x < M and xqp(modM)x \cdot q \equiv p \pmod{M} .

输入输出样例

  • 输入#1

    3 1 3
    1 2
    2 3

    输出#1

    2 2 1
  • 输入#2

    4 1 3
    1 2
    2 3
    1 4

    输出#2

    4 2 1 2
  • 输入#3

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

    输出#3

    1 3 2 0 0 1 0 1

说明/提示

The tree from the first example is shown below:

Let's calculate expected value E[c(1)]E[c(1)] : - P(c(1)=0)=0P(c(1) = 0) = 0 , since c(1)c(1) is set to 11 from the start.

  • P(c(1)=1)=12P(c(1) = 1) = \frac{1}{2} , since there is the only one series of moves that leads c(1)=1c(1) = 1 . It's 1231 \rightarrow 2 \rightarrow 3 with probability 1121 \cdot \frac{1}{2} .
  • P(c(1)=2)=14P(c(1) = 2) = \frac{1}{4} : the only path is 1120.51120.531 \rightarrow_{1} 2 \rightarrow_{0.5} 1 \rightarrow_{1} 2 \rightarrow_{0.5} 3 .
  • P(c(1)=3)=18P(c(1) = 3) = \frac{1}{8} : the only path is 1120.51120.51120.531 \rightarrow_{1} 2 \rightarrow_{0.5} 1 \rightarrow_{1} 2 \rightarrow_{0.5} 1 \rightarrow_{1} 2 \rightarrow_{0.5} 3 .
  • P(c(1)=i)=12iP(c(1) = i) = \frac{1}{2^i} in general case.

As a result, E[c(1)]=i=1i12i=2E[c(1)] = \sum\limits_{i=1}^{\infty}{i \frac{1}{2^i}} = 2 . Image of tree in second test Image of tree in third test

首页