#P10660. BZOJ2759 一个动态树好题

    ID: 10138 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>O2优化Link-Cut Tree,LCT扩展欧几里德算法,exgcd

BZOJ2759 一个动态树好题

题目描述

nn 个未知数 x1,x2,,xnx_1,x_2,\dots,x_nnn 个等式组成的同余方程组:xiki×xpi+bi(mod10007)x_i\equiv k_i\times x_{p_i} + b_i \pmod {10007}

你需要进行 qq 次操作,每次操作为下列两种情况之一:

  • A a,询问当前 xax_a 的解,无解输出 -1,多解输出 -2 否则输出 xax_a
  • C a x y z,修改一个等式 kax,pay,bazk_a \gets x,p_a \gets y,b_a \gets z

输入格式

第一行一个整数 nn

接下来 nn 行,每行三个整数 ki,pi,bik_i,p_i,b_i

接下来一行一个整数 qq

再接下来 qq 行,每行一个操作,见题意所述。

输出格式

对每个询问,输出一行一个整数。

5
2 2 1
2 3 2
2 4 3
2 5 4
2 3 5
5
A 1
A 2
C 5 3 1 1
A 4
A 5
4276
7141
4256
2126

提示

对于所有数据,ki,bi,xi[0,10007)Zk_i,b_i,x_i \in [0,10007) \cap \Z1n3×1041\leq n\leq 3\times 10^40q1050\leq q\leq 10^5,其中询问操作占总操作数的约 80%80\%