摘要: 题意: 给一棵树,求出每一点到树上其他点的最远距离 思路: ①我们先考虑一个点到其子树中的点的最远距离 定义1.dp[i][0]是以i号节点为跟到其子树的最远距离 2.dp[i][1]是以i号节点为跟到其子树的次远距离(为什么维护这个后面可以知道) 3.son[i]是以i号节点为根的的子树中距离i最 阅读全文
posted @ 2020-01-23 21:41 overrate_wsj 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题意: 给一棵树,找到三个顶点,使三个顶点两两之间路径的并集最大 思路: 必定会有一组最优解,使得 a,b是树直径上的端点。 证明: 假设某个答案取连接点x。x最远的树到达的点是s,根据树的直径算法,s是树的某个直径a的端点。假设x的最远和第二远的点组成的链是b,b就会和a有一段公共部分。我们取a和 阅读全文
posted @ 2020-01-23 19:32 overrate_wsj 阅读(462) 评论(1) 推荐(0) 编辑
摘要: 题意: 给你四个数a,b,c,d,n.问你是否能将n拆成三个数A,B,C,使得A+a=B+b=C+c。 思路: 先计算三个数的差值的绝对值abs,如果abs大于n则肯定不行,如果小于n,还需判断(n-abs)%3是否为0,不为0则不行。 #include<iostream> #include<alg 阅读全文
posted @ 2020-01-23 12:58 overrate_wsj 阅读(367) 评论(0) 推荐(0) 编辑