TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P7290
  • 题目
  • P7290[Codechef] Dynamic GCD | 容易计算
    限制 : 时间限制 : - MS   空间限制 : - KB
    评测说明 : 1s,512MB
    问题描述

    nodgd觉得计算最大公约数非常容易,于是向p6pou发起挑战。

    p6pou不甘示弱,掏出一棵树,每个节点上有一个整数。p6pou每次可能会修改一条链上的整数,或者让nodgd计算一条链上所有整数的最大公约数。

    nodgd即使是口算也算得很快,但p6pou却需要借助计算机。请你帮p6pou写个程序来计算。

    输入格式

    第一行一个整数 \(N\) ,表示树上节点数。
    接下来 \(N-1\) 行,每行两个整数 \(u,v\) ,表示一条边。
    接下来一行 \(N\) 个整数,表示每个节点的初始权值。
    接下来一个整数 \(Q\) ,表示操作的次数。

    • F u v :p6pou想知道节点 \(u,v\) 链上的最大公约数。
    • C u v d :p6pou修改了节点 \(u,v\) 链上的整数,将每个数都增加了 \(d\)
    输入格式

    第一行一个整数 \(N\) ,表示树上节点数。
    接下来 \(N-1\) 行,每行两个整数 \(u,v\) ,表示一条边。
    接下来一行 \(N\) 个整数,表示每个节点的初始权值。
    接下来一个整数 \(Q\) ,表示操作的次数。

    • F u v :p6pou想知道节点 \(u,v\) 链上的最大公约数。
    • C u v d :p6pou修改了节点 \(u,v\) 链上的整数,将每个数都增加了 \(d\)
    输出格式

    每次操作 F 输出一行一个整数答案。

    样例输入

    6
    0 4
    0 5
    1 5
    5 2
    3 5
    3 1 3 2 4 2
    5
    F 3 5
    C 1 3 1
    C 3 4 4
    F 3 0
    F 2 5

    样例输出

    2
    7
    1

    提示

    对于100%的数据
    $1\leq N\leq 50000$ , $1\leq Q\leq 50000$
    $0\leq u,v\leq N-1$ , $1\leq v_i\leq 10^4$ , $0\leq d\leq 10^4$

    测试点 \(N\) \(Q\) 其他限制
    1,2,3 \(\leq 200\) \(\leq 200\)
    4 \(\leq 50000\) \(\leq 50000\) 树是一条链,节点 \(u\) 和节点 \(u+1\) 相连
    5 \(\leq 50000\) \(\leq 50000\) 完全二叉树,节点 \(u\) 和节点 \(\lfloor (u-1)/2\rfloor\) 相连
    6,7 \(\leq 20000\) \(\leq 20000\)
    8,9,10 \(\leq 50000\) \(\leq 50000\)