题目 30069

带权并查集(非交换群)

查看题解 ↗GitHub ↗如何评测
题号
30069
时间限制
10000 ms
内存限制
1024 MB
标签
数据结构并查集
来源
Library Checker (yosupo06) - unionfind_with_potential_non_commutative_group

【题目描述】

存在一个未知的、元素均为整数的 2×22 \times 2 可逆矩阵序列 (a0,…,aN−1)(a_0, \ldots, a_{N - 1}),请处理 QQ 个查询。

  • $t_i$ = 0 $u_i$ $v_i$ $x_{0, 0}$ $x_{0, 1}$ $x_{1, 0}$ $x_{1, 1}$:给出信息 au≡avx(mod998244353)a_u \equiv a_v x \pmod{998244353},其中 xx 是元素为 x0,0,x0,1,x1,0,x1,1x_{0, 0}, x_{0, 1}, x_{1, 0}, x_{1, 1} 的 2×22 \times 2 矩阵。若这条信息与之前给出的任何有效信息都不矛盾,则它是有效的。若该信息有效,输出 11;否则输出 00。
  • $t_i$ = 1 $u_i$ $v_i$:根据目前给出的有效信息,若 av−1au mod 998244353a_v^{-1}a_u \bmod 998244353 的值可以被确定,则输出该值;否则输出 −1-1。

【输入】

输入按以下格式给出:

文本
$N$ $Q$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$

【输出】

按读入顺序输出每个查询的结果。

  • 对 $t_i$ = 0 的查询:若给出的信息有效,输出 11;否则输出 00。
  • 对 $t_i$ = 1 的查询:若 av−1au mod 998244353a_v^{-1}a_u \bmod 998244353 的值可以被确定,则输出该值;否则输出 −1-1。

【输入样例】

文本
4 10
0 1 0 2 998244350 998244350 5
1 0 2
0 2 1 1 2 3 7
0 2 0 998244346 998244336 12 29
0 0 2 1 2 1 3
0 3 1 2 0 0 499122177
1 0 2
1 2 0
1 3 0
1 1 1

【输出样例】

文本
1
-1
1
1
0
1
29 17 998244341 998244346
998244346 998244336 12 29
4 499122175 998244347 499122179
1 0 0 1

【数据范围】

  • 1≤N≤2000001 \leq N \leq 200000
  • 1≤Q≤2000001 \leq Q \leq 200000
  • 0≤ui,vi<N0 \leq u_i, v_i \lt N
  • 0≤x0,0,x0,1,x1,0,x1,1<9982443530 \leq x_{0, 0}, x_{0, 1}, x_{1, 0}, x_{1, 1} < 998244353
  • x0,0x1,1−x0,1x1,0≡1(mod998244353)x_{0, 0}x_{1, 1} - x_{0, 1}x_{1, 0} \equiv 1 \pmod {998244353}

【来源】

Library Checker(yosupo06) unionfind_with_potential_non_commutative_group

数据下载

题目 30069 的公开数据

正在读取文件列表…

常用命令

题目 30069 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。