3.28百度笔试b卷第3题

今天回想起来突然思路打开了,当局者迷啊,题目、思路和代码如下,请各位大佬看看有没有问题。

原题:
给出一棵树,每个结点用红色或蓝色染色。定义一条边的贡献为删掉该条边得到的两个子树的同色联通块数的差的绝对值,一棵树的贡献为树上每条边的贡献之和,求该树的贡献。

样例输入:

4

RRBB

1 2

2 3

1 4

样例输出:

2

样例解释:

删除1-2这条边,两个子树的同色联通块都为2,差的绝对值为0

删除2-3这条边,两个子树的同色联通块分别为1,2,差的绝对值为1

删除1-4这条边,两个子树的同色联通块分别为2,1,差的绝对值为1

故答案为0+1+1=2。

颜色连通块我没理解错的话应该是,不管多少个节点,只要连通且颜色相同就算一个连通块。示例有点不充分让人混淆,比如三个连通的颜色相同的节点a-b-c,是算两个连通块a-b和b-c还是算一个整体呢,我认为是一个整体。

思路和代码见图
全部评论
我当时想的是从下往上的层序遍历,还没来的及写完,不过也无所谓了,感觉百度并不想招我
1 回复 分享
发布于 2023-03-30 18:03 北京
问问这是啥软件分享出来的图啊,好看!
点赞 回复 分享
发布于 2023-04-20 19:35 北京
感谢佬分享代码,写的很清晰,有学到东西😋
点赞 回复 分享
发布于 2023-04-18 00:31 四川

相关推荐

06-25 10:35
已编辑
太原理工大学 C++
程序员牛肉:但凡是个大公司,他就会有面试评价。 所以你说的这个脏不脏面评的这个就纯属扯淡。你要是面试的时候答成一坨了,那肯定会脏面评。而且尤其是算法,你如果说算法没准备好的话,那你就千万不要你自己,你如果算法一旦做不出来,并且前面答的不是特别好的话,那你近四五个月就别想面字节了。
点赞 评论 收藏
分享
评论
2
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务