AT_s8pc_4_g.Get the Salary of Atcoder

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

问题描述

Atcoder公司有 NN 名员工,编号为 00 至 N−1N−1 ,工人 ii 的直接上司是 pip_i ,工资目前是 aia_i ,上下级形成了树形结构。( pi<ip_i<i ,特别地, p0=−1p_0=−1 ,因为员工 00 代表老板。)

在Atcoder中,某个员工的上司的上司的上司...(重复 kk 次)称之为他的“第 kk 级上司”,而“第 kk 级下属”则反之亦然。

处理 QQ 个操作:

第一类操作: 给你 vi,di,xiv_i,d_i,x_i 。将 viv_i 号员工,以及他的所有 j(1≤j≤di)j(1\leq j\leq d_i) 级下属的工资提高 xix_i 。

第二类操作: 给你 vi,div_i,d_i 。查询 viv_i 号员工以及他的所有 j(1≤j≤di)j(1\leq j\leq d_i) 级下属的工资总和。、

第三类操作: 给你 pri,aripr_i,ar_i ,表示一名新员工 cc 要加入Atcoder!(当然, cc 等于当前的员工总数。)他的直接上司是 pripr_i ,初始工资是 ariar_i 。

输入格式

N    QN\ \ \ \ Q

p0     a0p_0\ \ \ \ \ a_0

p1     a1p_1\ \ \ \ \ a_1

 :\ :        :\ \ \ \ \ \ \ :

pN−1 aN−1p_{N-1}\ a_{N-1}

query0query_0

query1query_1

 :\ :

queryQ−1query_{Q−1}

​queryiquery_i 的格式为以下三种之一:​

1 vi di xi1\ v_i\ d_i\ x_i

2 vi di2\ v_i\ d_i

3 pri ari3\ pr_i\ ar_i

输出格式

对于每个第二种询问,输出一行一个整数,表示结果。

输入输出样例

  • 输入#1

    6 7
    -1 6
    0 5
    0 4
    2 3
    2 2
    1 1
    2 0 1
    1 0 2 1
    2 2 1
    3 3 3
    2 0 3
    3 3 4
    2 1 1

    输出#1

    15
    12
    30
    8
  • 输入#2

    7 9
    -1 1
    0 5
    0 7
    0 8
    1 3
    4 1
    5 1
    2 1 1
    2 1 2
    1 1 2 3
    1 4 1 1
    2 3 1
    2 0 2
    3 6 1
    3 7 11
    2 0 15

    输出#2

    8
    9
    8
    31
    49

说明/提示

N≤400000N≤400000 , Q≤50000Q≤50000 , pi<ip_i<i​

di≤400000d_i ≤ 400000 , 0≤ai,xi≤10000≤a_i,x_i≤1000

在所有询问 11 和 22 中,员工 viv_i 存在。

输入解题思路,AI测评打分。不知道怎么写?

首页