TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  训练指南  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P6519
  • 题目
  • P6519[DFS序基础]链修改,子树查询
    限制 : 时间限制 : 3000 MS   空间限制 : 262144 KB
    评测说明 : 3s,256MB
    问题描述

    一棵$n$个节点的有根树,节点编号$1\sim n$,其中$1$是根节点,每个节点上有权值,$m$次操作:

    • 1 a b c:将a,b链上的每个节点权值增加c
    • 2 a:查询a子树的权值之和
    输入格式

    第一行两个整数$n,m$。

    第二行$n$个整数,表示每个节点的初始权值。

    第三行$n-1$个整数,表示$2\sim n$节点的父亲编号。

    接下来$m$行,每行一个形如“1 a b c”或者“2 a”的操作。

    输出格式

    每次查询输出一行答案。

    样例输入 1

    5 5
    1 2 3 4 5
    1 1 3 3
    2 1
    1 2 5 10
    2 1
    2 3
    2 4

    样例输出 1

    15
    55
    32
    4

    样例输入 2

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

    样例输出 2

    48
    14
    29
    102
    58
    13

    提示

    $1\leq n,m,\texttt{初始权值},c\leq 10^6$


    来源  感谢nodgd放基础题