换根dp
SundayJerry
这个作者很懒,什么都没留下…
展开
-
P2986 [USACO10MAR]Great Cow Gathering G(换根dp)
这题和P3478 [POI2008]STA-Station本质上是一样的,都是用换根dp进行解决 贴一个换根dp分析 之后我们就可以通过一次自上而下和自下而上的换根dp,进行求解 Size表示子树大小 dp[i]表示当前i到子树整个连通块的所有节点的长度 d[i]表示当前以i为根节点到其它节点的总长度 a[i]表示在i节点有多少头牛 #include<bits/stdc++.h> #define ll long long #define pii pair<int,int> usin原创 2021-10-19 20:33:28 · 176 阅读 · 0 评论 -
P3478 [POI2008]STA-Station(换根dp模板)
给定一个 n 个点的树,请求出一个结点,使得以这个结点为根时,所有结点的深度之和最大.一个结点的深度之定义为该节点到根的简单路径上边的数量. 思路:我们在一开始解的时候,如果我们要进行暴力求解我们的时间复杂度是O(n ^ 2),之后我们可以考虑对于样例1时,当前为根节点为1时 那么由这个方法我们可以通过两次dfs进行求解 第一次dfs,以1为根节点,自上而下求出每个节点的深度d,和每个节点的子树大小Size 第二次dfs,以1为根节点,自下而上,求出每个节点为根节点的总深度之和 最后遍历一遍dp数组找到深原创 2021-10-19 20:26:47 · 128 阅读 · 0 评论