#P9120. 带权并查集(Unionfind with Potential)

带权并查集(Unionfind with Potential)

带权并查集(Unionfind with Potential)

问题描述

给定一个未知的整数序列 (a0,,aN1) (a_0, \dots, a_{N-1}) ,请处理以下 Q Q 个查询:

  • 0 u v x:你被告知 auav+x(mod998244353) a_u \equiv a_v + x \pmod{998244353} 。若该信息与此前所有有效信息不矛盾,则输出 1;否则输出 0
  • 1 u v:基于迄今所有有效信息,若 auavmod998244353 a_u - a_v \bmod 998244353 可被唯一确定,则输出其值;否则输出 -1

约束条件

  • 1N2×105 1 \leq N \leq 2 \times 10^5
  • 1Q2×105 1 \leq Q \leq 2 \times 10^5
  • 0ui,vi<N 0 \leq u_i, v_i < N
  • 0xi<998244353 0 \leq x_i < 998244353

输入格式

N QN\ Q
Query0Query_0
Query1Query_1
:
QueryQ1Query_{Q-1}

4 10
0 1 0 9
1 0 2
0 2 1 90
0 2 0 99
0 0 2 123
0 3 1 990
1 0 2
1 2 0
1 3 0
1 1 1
1
-1
1
1
0
1
998244254
99
999
0