摘要:
题意:求树的重心,若有多个重心,则输出编号较小者,及其子树中节点最多的数量。思路: 树的重心:指的是一个点v,在删除点v后,其子树的节点数分别为:u1,u2....,设max(u)为其中的最大值,点v的max(u)是所有点里面最小的,称v为树的重心。 如何求任一重心?按树形来看,max(v)可以... 阅读全文
摘要:
题意:给一棵树,问每个点到其他点的最远距离是多少?思路: 按两次深搜,第一次求每个点的后代中最远的距离以及次远距离,第二次就可以从上往下逐个更新答案了。当一棵树形成了,那么每个点只有两个方向可能会有最远距离,一个是经过其父亲,一个是经过其某个孩子。当在第二次深搜时往下推时要注意,经过父亲到达本节点... 阅读全文
摘要:
题意:给一棵树,每个节点都有权值,要求选择部分节点出来,使得权值之和最大,但是每对(父亲,儿子)中最多只能挑一个。思路: 比较入门的题,每个节点可以选也可以不选。若当前节点选的话,孩子必须全部不选;若当前节点不选,则孩子可以选也可以不选。 1 #include 2 #define pii pai... 阅读全文