Dynamic Tree Vertex Set Path Composite

AC一覧

Problem Statement
問題文

Given an $N$ vertices tree. Edges are $(u_i, v_i)$ and a linear function $f_i(x) = a_i x + b_i$ is written on the vertex $i$ for each $i$.

Process $Q$ queries as follows. The graph remains a tree even after queries have been processed.

  • 0 $u$ $v$ $w$ $x$: Remove the existing edge $(u, v)$ and add the new edge $(w, x)$
  • 1 $p$ $c$ $d$: Set $f_p \gets cx + d$
  • 2 $u$ $v$ $x$: Let vertices on the path between $u$ and $v$ be $p_1 = u, p_2, ..., p_k = v$. Print $f_{p_k}(...f_{p_2}(f_{p_1}(x))) \bmod 998{,}244{,}353$

$N$ 頂点の木が与えられる。辺は $(u_i, v_i)$。頂点 $i$ には一次関数 $f_i(x) = a_i x + b_i$ が書かれている。

$Q$ 個のクエリが飛んでくるので処理。ただし, クエリ処理後もグラフが木であることが保証される.

  • 0 $u$ $v$ $w$ $x$: 辺$(u, v)$を削除, 辺$(w, x)$を作成。
  • 1 $p$ $c$ $d$: $f_p \gets cx + d$
  • 2 $u$ $v$ $x$: $u, v$ 間のパス上の頂点(端点含む)を$p_1 = u, p_2, ..., p_k = v$ として、$f_{p_k}(...f_{p_2}(f_{p_1}(x))) \bmod 998{,}244{,}353$ を出力

Constraints
制約

Input
入力

$N$ $Q$
$a_0$ $b_0$
$a_1$ $b_1$
:
$a_{N - 1}$ $b_{N - 1}$
$u_0$ $v_0$
$u_1$ $v_1$
:
$u_{N - 2}$ $v_{N - 2}$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$

# 1

5 7
1 2
3 4
5 6
7 8
9 10
0 1
1 2
2 3
1 4
2 0 3 10
1 1 100000 0
2 3 4 11
0 1 2 2 0
2 3 4 12
0 2 3 3 1
2 2 3 13
1450
387900010
421200010
51100008

# 2

7 7
1 2
2 3
3 4
4 5
5 6
6 7
7 8
0 1
1 2
0 3
3 4
0 5
5 6
2 2 4 1
2 4 6 1
2 6 2 1
0 0 5 3 5
2 2 4 1
2 4 6 1
2 6 2 1
411
2199
607
411
2115
2383

Forum


Timelimit: 5 secs

Before submitting, please confirm terms and conditions