1643_DFS序4

2022-5-16 18:17| 发布者: Hocassian| 查看: 51| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-2-8950471697900-Problem List-采集的数据-后羿采集器.html

Pro.ID

1643

Title

DFS 序 4

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1643

AC

0

Submit

0

Ratio

-

时间&空间限制

  • Time Limit: 20000/10000 MS (Java/Others)     Memory Limit: 393216/393216 K (Java/Others)
  • 描述

    这是一道模板题。

    本题严重卡常,请务必使用 fread 快读,不保证无快读的程序能过(虽然标程没用快读)。

    给一棵有根树,这棵树由编号为 1…NN 个节点组成。根节点的编号为 R 。每个节点都有一个权值,节点 i 的权值为 vi

    接下来有 M 组操作,操作分为三类:

    • 1  a  x,表示将节点 a 的权值增加 x

    • 2  a  x,表示将 a 的子树上所有节点的权值增加 x

    • 3  a  b,表示求「节点 a 到节点 b 的简单路径」上所有节点的权值之和。

    输入

    第一行有三个整数 N , MR

    第二行有 N 个整数,第 i 个整数表示 vi

    在接下来的 N−1 行中,每行两个整数,表示一条边。

    在接下来的 M 行中,每行一组操作。

    40% 的数据不含操作 2。

    1 ⩽ N , M ⩽ 106 , 1 ⩽ RN , −106vi , x ⩽ 106 .

    输出

    Description

    这是一道模板题。

    本题严重卡常,请务必使用 fread 快读,不保证无快读的程序能过(虽然标程没用快读)。

    给一棵有根树,这棵树由编号为 1…NN 个节点组成。根节点的编号为 R 。每个节点都有一个权值,节点 i 的权值为 vi

    接下来有 M 组操作,操作分为三类:

    • 1  a  x,表示将节点 a 的权值增加 x

    • 2  a  x,表示将 a 的子树上所有节点的权值增加 x

    • 3  a  b,表示求「节点 a 到节点 b 的简单路径」上所有节点的权值之和。

    Input

    第一行有三个整数 N , MR

    第二行有 N 个整数,第 i 个整数表示 vi

    在接下来的 N−1 行中,每行两个整数,表示一条边。

    在接下来的 M 行中,每行一组操作。

    40% 的数据不含操作 2。

    1 ⩽ N , M ⩽ 106 , 1 ⩽ RN , −106vi , x ⩽ 106 .

    Output

    对于每组 3  a  b 操作,输出一个整数,表示「节点 a 到节点 b 的简单路径」上所有节点的权值之和(含节点 a, b)。

    Sample Input

    Sample #1
    10 13 5
    -2 -7 0 2 -9 -2 -4 9 8 -1
    9 8
    9 4
    9 2
    4 10
    10 7
    10 6
    2 1
    8 3
    7 5
    3 8 6
    1 7 -8
    1 5 -9
    1 5 -4
    1 4 -2
    1 2 -1
    3 5 1
    1 7 1
    3 1 3
    1 1 -3
    3 10 2
    1 1 -8
    3 8 4


    Sample #2
    10 16 4
    -13 -11 5 4 18 13 14 -8 -8 14
    4 1
    4 10
    10 2
    2 8
    4 7
    1 6
    8 5
    1 3
    2 9
    3 5 10
    1 5 -5
    2 9 -4
    3 8 6
    1 5 -8
    2 8 -5
    3 8 7
    1 9 0
    2 10 -3
    3 7 6
    2 9 -4
    2 8 2
    3 4 4
    2 1 8
    1 6 5
    3 8 3

    Sample Output

    Sample #1
    16
    -37
    7
    -1
    17


    Sample #2
    13
    -1
    8
    18
    4
    -5

    Hint

    标程可以过前4个测试文件,却不能过最后一个。

    原因待考证。

    样例输入

    Sample #1
    10 13 5
    -2 -7 0 2 -9 -2 -4 9 8 -1
    9 8
    9 4
    9 2
    4 10
    10 7
    10 6
    2 1
    8 3
    7 5
    3 8 6
    1 7 -8
    1 5 -9
    1 5 -4
    1 4 -2
    1 2 -1
    3 5 1
    1 7 1
    3 1 3
    1 1 -3
    3 10 2
    1 1 -8
    3 8 4


    Sample #2
    10 16 4
    -13 -11 5 4 18 13 14 -8 -8 14
    4 1
    4 10
    10 2
    2 8
    4 7
    1 6
    8 5
    1 3
    2 9
    3 5 10
    1 5 -5
    2 9 -4
    3 8 6
    1 5 -8
    2 8 -5
    3 8 7
    1 9 0
    2 10 -3
    3 7 6
    2 9 -4
    2 8 2
    3 4 4
    2 1 8
    1 6 5
    3 8 3

    样例输出

    Sample #1
    16
    -37
    7
    -1
    17


    Sample #2
    13
    -1
    8
    18
    4
    -5

    提示

    标程可以过前4个测试文件,却不能过最后一个。

    原因待考证。

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部