摘要:        
题意: 给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大 发现从根从某个位置移到它的⼀一个⼦子树得出 ans 只要 O(1) 的时间 定义 f[u] 代表以 u 为根结点的深度和 假设 v 是 u 的儿子 ,那么 f[v] 其实就是 v 的子树的深度全部 -1 ,其他节点的    阅读全文
posted @ 2020-02-20 23:12
_Ackerman
阅读(217)
评论(0)
推荐(0)
        
            
        
        
摘要:        
题目大体上也算是一个树上背包的问题,只不过有个细节需要特别注意一下 父亲如果想要儿子的苹果,那么父亲和儿子之间必须要连接起来 设 f[u][j] 代表以 u 为根节点 保留 j 条边的最大价值 根据树上背包的转移方程我们很容易知道 f[u][j] = max(f[u][j] , f[v][k] +     阅读全文
posted @ 2020-02-20 23:01
_Ackerman
阅读(235)
评论(0)
推荐(0)
        
            
        
        
摘要:        
树上背包: 树形背包就是原始的树上动归+背包,一般用来处理以一棵树中选多少点为扩展的一类题,基本做法与树上dp无异,不过在状态转移方程中会用到背包的思想。 它基本上是这个样子的: 存图),然后dfs进去补全子节点的信息,f数组的意思是以fa为中转点,找出fa往下的可取1~j个点时各自的最大收益。 f    阅读全文
posted @ 2020-02-20 22:48
_Ackerman
阅读(273)
评论(0)
推荐(0)
        

浙公网安备 33010602011771号