给定一棵根为1号节点的树,每个节点初始的权值为1。现在每次可以选择一个节点,使得其子树所有节点的权值加1,请问最少多少次操作可以使得每个节点的权值等于它的编号?
区块链毕设网qklbishe.com为您提供问题的解答
给定一棵根为1号节点的树,每个节点初始的权值为1。现在每次可以选择一个节点,使得其子树所有节点的权值加1,请问最少多少次操作可以使得每个节点的权值等于它的编号?
n = int(input()) res = 0 for _ in range(n-1): a, b = list(map(int, input().split())) res += abs(b-a) print(res)
父节点必须小于子节点,子节点a只需要在父节点b基础上再操作(a-b)次,直接把所有边的差的绝对值求和就行,被这题目的说法绕了好久。。。。。。。。。。。。。。。。。。。。。。。
20:26
以上就是关于问题给定一棵根为1号节点的树,每个节点初始的权值为1。现在每次可以选择一个节点,使得其子树所有节点的权值加1,请问最少多少次操作可以使得每个节点的权值等于它的编号?的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训