CF1254D.Tree Queries

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Hanh is a famous biologist. He loves growing trees and doing experiments on his own garden.

One day, he got a tree consisting of nn vertices. Vertices are numbered from 11 to nn . A tree with nn vertices is an undirected connected graph with n1n-1 edges. Initially, Hanh sets the value of every vertex to 00 .

Now, Hanh performs qq operations, each is either of the following types:

  • Type 11 : Hanh selects a vertex vv and an integer dd . Then he chooses some vertex rr uniformly at random, lists all vertices uu such that the path from rr to uu passes through vv . Hanh then increases the value of all such vertices uu by dd .
  • Type 22 : Hanh selects a vertex vv and calculates the expected value of vv .

Since Hanh is good at biology but not math, he needs your help on these operations.

输入格式

The first line contains two integers nn and qq ( 1n,q1500001 \leq n, q \leq 150\,000 ) — the number of vertices on Hanh's tree and the number of operations he performs.

Each of the next n1n - 1 lines contains two integers uu and vv ( 1u,vn1 \leq u, v \leq n ), denoting that there is an edge connecting two vertices uu and vv . It is guaranteed that these n1n - 1 edges form a tree.

Each of the last qq lines describes an operation in either formats:

  • 11 vv dd ( 1vn,0d1071 \leq v \leq n, 0 \leq d \leq 10^7 ), representing a first-type operation.
  • 22 vv ( 1vn1 \leq v \leq n ), representing a second-type operation.

It is guaranteed that there is at least one query of the second type.

输出格式

For each operation of the second type, write the expected value on a single line.

Let M=998244353M = 998244353 , it can be shown that the expected value 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

    5 12
    1 2
    1 3
    2 4
    2 5
    1 1 1
    2 1
    2 2
    2 3
    2 4
    2 5
    1 2 2
    2 1
    2 2
    2 3
    2 4
    2 5
    

    输出#1

    1
    199648871
    399297742
    199648871
    199648871
    598946614
    199648873
    2
    2
    2
    

说明/提示

The image below shows the tree in the example:

For the first query, where v=1v = 1 and d=1d = 1 :

  • If r=1r = 1 , the values of all vertices get increased.
  • If r=2r = 2 , the values of vertices 11 and 33 get increased.
  • If r=3r = 3 , the values of vertices 11 , 22 , 44 and 55 get increased.
  • If r=4r = 4 , the values of vertices 11 and 33 get increased.
  • If r=5r = 5 , the values of vertices 11 and 33 get increased.

Hence, the expected values of all vertices after this query are ( 1,0.4,0.8,0.4,0.41, 0.4, 0.8, 0.4, 0.4 ).

For the second query, where v=2v = 2 and d=2d = 2 :

  • If r=1r = 1 , the values of vertices 22 , 44 and 55 get increased.
  • If r=2r = 2 , the values of all vertices get increased.
  • If r=3r = 3 , the values of vertices 22 , 44 and 55 get increased.
  • If r=4r = 4 , the values of vertices 11 , 22 , 33 and 55 get increased.
  • If r=5r = 5 , the values of vertices 11 , 22 , 33 and 44 get increased.

Hence, the expected values of all vertices after this query are ( 2.2,2.4,2,2,22.2, 2.4, 2, 2, 2 ).

首页