首页 > 父子情深
头像 简单666
发表于 2021-09-07 14:14:50
题意: 给你一棵个节点的有根树,给你个操作,每次你需要将以为根节点的子树所有节点的权值加上 最后返回所有节点的权值 解法一(暴力算法,不可AC) 首先对整棵树进行一次dfs,预处理出每个节点的父节点 然后对于第个操作,我们直接一遍dfs将对应子树节点的权值加上对应的值 展开全文
头像 东溪看水
发表于 2020-07-18 13:47:53
题目 在一颗有 个结点且以 1 为根节点树上,起初每个结点的初始权值为 0。现在有 次操作,每次操作选择将以 为根节点的子树上的所有结点权值增加 。求 次操作后从 1 到 每个结点的权值。 输入第一个参数为 n,第二个参数为边 的集合,其中 表示结点 与结点 之间有一条边,第三个参 展开全文
头像 xqxls
发表于 2021-09-05 22:14:57
题意整理 给定一颗有n个节点的树,每个节点权值初始为0。 现在有一个查询集合,集合中每一项提供两个参数r和v,每次查询将r节点及其子节点的权值增加v。 返回最终每个节点的权值。 方法一(DFS) 1.解题思路 首先建立邻接表,用于访问某个节点的所有子节点。 初始化查询中当前根节点的权值。 按照 展开全文
头像 wangkeli3
发表于 2021-09-11 10:31:43
题意 一棵树节点初始权值为0,每次增加一个节点及其子树的权值,求最后每个节点的权值。 20分做法:暴力计算 直接按照题意暴力模拟,每次寻找要增加的节点及其子树。 80分做法:邻接矩阵+预处理 先用邻接矩阵把树变为方便处理的形式,再预处理节点和子树。预处理找到所有子树的父节点,在操作时对于所有父节点的 展开全文
头像 ZhongHaoWang
发表于 2021-09-02 12:40:00
对于query中的节点我们记录其改变值,并通过bfs依次将其传递给下一层节点即可 # class Point: # def __init__(self, a=0, b=0): # self.x = a # self.y = b # # 代码中的类名、方法名、 展开全文
头像 leaves0924
发表于 2021-09-11 23:52:36
题目描述 在一颗有 n 个结点且以 1 为根节点树上,起初每个结点的初始权值为 0 。现在有 q 次操作,每次操作选择将以 为根节点的子树上的所有结点权值增加 。求 q 次操作后从 1 到 n 每个结点的权值。输入:第一个参数为 n,1≤n≤100,000第二个参数为边 的集合,其中 表示结点 展开全文

等你来战

查看全部