首页 > 试题广场 >

父子情深

[编程题]父子情深
  • 热度指数:113 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

题意

在一颗有  个结点且 为根节点树上,起初每个结点的初始权值为

现在有 次操作,每次操作选择将以 为根节点的子树上的所有结点权值增加

次操作后从 每个结点的权值。

输入

第一个参数为

第二个参数为边 的集合,其中 表示结点 与结点 之间有一条边,

第三个参数为

第四个参数为 次询问的 (r_i, v_i) 的集合,

返回

每个结点的权值。

示例1

输入

5,[(2,5),(5,3),(5,4),(5,1)],2,[(1, 3), (2, -1)]

输出

[3,2,3,3,3]

说明

第一次操作,将以 1 为根节点的子树上的所有结点权值增加 3,此时结点的权值分别为 [3, 3, 3, 3, 3] ;
第二次操作,将以 2 为根节点的子树上的所有结点权值增加 -1,此时结点的权值分别为 [3, 2, 3, 3, 3] ;
这题这么难吗 都没人讨论
发表于 2021-09-16 19:26:59 回复(0)

问题信息

难度:
1条回答 1214浏览

热门推荐

通过挑战的用户

查看代码