CF1891F.A Growing Tree

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are given a rooted tree with the root at vertex 11 , initially consisting of a single vertex. Each vertex has a numerical value, initially set to 00 . There are also qq queries of two types:

  • The first type: add a child vertex with the number sz+1sz + 1 to vertex vv , where szsz is the current size of the tree. The numerical value of the new vertex will be 00 .
  • The second type: add xx to the numerical values of all vertices in the subtree of vertex vv .

After all queries, output the numerical value of all of the vertices in the final tree.

输入格式

The first line contains a single integer TT ( 1T1041 \leq T \leq 10^4 ) — the number of test cases. The descriptions of the test cases follow.

The first line of each test case contains a single integer qq ( 1q51051 \leq q \leq 5 \cdot 10^5 ) — the number of queries.

The following qq lines can fall into two cases:

  • The first type of query: The ii -th line contains two integers tit_i ( ti=1t_i = 1 ), viv_i . You need to add a child with the number sz+1sz + 1 to vertex viv_i , where szsz is the current size of the tree. It is guaranteed that 1visz1 \leq v_i \leq sz .
  • The second type of query: The ii -th line contains three integers tit_i ( ti=2t_i = 2 ), viv_i , xix_i ( 109xi109-10^9 \leq x_i \leq 10^9 ). You need to add xix_i to all numerical values of vertices in the subtree of viv_i . It is guaranteed that 1visz1 \leq v_i \leq sz , where szsz is the current size of the tree.

It is guaranteed that the sum of qq across all test cases does not exceed 51055 \cdot 10^5 .

输出格式

For each test case, output the numerical value of each vertex of the final tree after all queries have been performed.

输入输出样例

  • 输入#1

    3
    9
    2 1 3
    1 1
    2 2 1
    1 1
    2 3 2
    1 3
    2 1 4
    1 3
    2 3 2
    5
    2 1 1
    1 1
    2 1 -1
    1 1
    2 1 1
    5
    1 1
    1 1
    2 1 1
    2 1 3
    2 2 10

    输出#1

    7 5 8 6 2 
    1 0 1 
    4 14 4

说明/提示

In the first case, the final tree with the assigned numerical values will look like this:

The final tree with the assigned numerical values

首页