TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P3032
  • 题目
  • P3032【nodgd继续造水题】ShadowIterator与啦啦操保安
    限制 : 时间限制 : 40000 MS   空间限制 : 262144 KB
    问题描述

    ShadowIterator好不容易逃出了nodgd的坑爹迷宫,却被保安抓住,绑在了一棵树上。
    这是一棵很神奇的树,每时每刻在以各种各样的姿态长出或者掉落果子,学过OI的ShadowIterator决定研究研究这棵树。
    这棵树共有N个节点,N-1条枝杈连接这些节点,1号节点时根。每时每刻可能有如下这些事件发生:
    ·1 x t :节点x长出了t个果子;
    ·2 x t :节点x变成了t个果子;
    ·3 x :ShadowIterator想知道节点x现在又几个果子;
    ·4 x y t :节点x到节点y的链上每个节点各长出了t个果子;
    ·5 x y t :节点x到节点y的链上每个节点都变成t个果子;
    ·6 x y :ShadowIterator想知道节点x到节点y的链上共有多少个果子;
    ·7 x y :ShadowIterator想知道节点x到节点y的链上果子最多的节点有多少个果子;
    ·8 x t:节点x的子树里每个节点各长出t个果子;
    ·9 x t:节点x的子树里每个节点都变成t个果子;
    ·10 x :ShadowIterator想知道节点x子树中所有节点共有多少个果子;
    ·11 x :ShadowIterator想知道节点x子树中所有节点中果子最多的节点有多少个果子。

    输入格式

    第一行一个整数N,表示节点数
    接下来N-1行,每行两个数x,y,表示节点x与节点y之间有一条枝杈相连
    接下来一行N个数,第i个数表示第i个节点一开始有多少个果子。
    接下来一行一个数M,表示时间数
    接下来M行,每行描述一个事件

    输出格式

    对每个3,6,7,10,11事件,输出答案。

    样例输入

    3
    1 2
    2 3
    1 2 3
    11
    1 1 1
    2 1 1
    3 1
    4 1 2 1
    5 1 2 1
    6 1 2
    7 1 2
    8 1 1
    9 1 1
    10 1
    11 1

    样例输出

    1
    2
    1
    3
    1

    提示

    数据范围:
    1<=N<=200000
    1<=M<=200000
    1<=初始果子数,t<=10000
    答案要用long long