CF1749F.Distance to the Path

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are given a tree consisting of nn vertices. Initially, each vertex has a value 00 .

You need to perform mm queries of two types:

  1. You are given a vertex index vv . Print the value of the vertex vv .
  2. You are given two vertex indices uu and vv and values kk and dd ( d20d \le 20 ). You need to add kk to the value of each vertex such that the distance from that vertex to the path from uu to vv is less than or equal to dd .

The distance between two vertices xx and yy is equal to the number of edges on the path from xx to yy . For example, the distance from xx to xx itself is equal to 00 .

The distance from the vertex vv to some path from xx to yy is equal to the minimum among distances from vv to any vertex on the path from xx to yy .

输入格式

The first line contains a single integer nn ( 2n21052 \le n \le 2 \cdot 10^5 ) — the number of vertices in the tree.

Next n1n - 1 lines contain the edges of the tree — one per line. Each line contains two integers uu and vv ( 1u,vn1 \le u, v \le n ; uvu \neq v ) representing one edge of the tree. It's guaranteed that the given edges form a tree.

The next line contains a single integer mm ( 1m21051 \le m \le 2 \cdot 10^5 ) — the number of queries.

Next mm lines contain the queries — one per line. Each query has one of the following two types:

  • 11 vv ( 1vn1 \le v \le n ) — the query of the first type;
  • 22 uu vv kk dd ( 1u,vn1 \le u, v \le n ; 1k10001 \le k \le 1000 ; 0d200 \le d \le 20 ) — the query of the second type.

Additional constraint on the input: there is at least one query of the first type.

输出格式

For each query of the first type, print the value of the corresponding vertex.

输入输出样例

  • 输入#1

    6
    1 2
    1 3
    4 2
    5 2
    3 6
    14
    2 4 5 10 2
    1 3
    1 6
    2 1 1 10 20
    2 6 6 10 20
    1 3
    2 3 2 10 0
    2 5 2 10 1
    1 1
    1 2
    1 3
    1 4
    1 5
    1 6

    输出#1

    10
    0
    30
    50
    50
    40
    40
    40
    20

说明/提示

The tree from the first example:

Some query explanations: - " 22 44 55 1010 22 ": affected vertices are {4,2,5,1,3}\{4, 2, 5, 1, 3\} ;

  • " 22 11 11 1010 2020 " and " 22 66 66 1010 2020 ": all vertices are affected, since distance to 11 ( 66 ) is less that 2020 for any vertex;
  • " 22 33 22 1010 00 ": affected vertices are {3,1,2}\{3, 1, 2\} ;
  • " 22 55 22 1010 11 ": affected vertices are {5,2,4,1}\{5, 2, 4, 1\} .
首页